Cygwin上のクロスコンパイル環境
最初にググってみつけた幾つかのサイトを参考にgcc3系のザウルス用クロスコンパイル環境を構築しようと思ったのだけど、どうも上手くいかない。諦めてgcc2.95系の環境を構築。
QtopiaSDK on Cygwinに記述されている内容をそのまま実行。
ファイルの入手先
- http://downloads.sourceforge.jp/zaurus-ja/1999/から、 binutils-cross-arm-2.13.i386-cygwin-20030106.tar.bz2とgcc-cross-sa1100-2.95.3-i386-cygwin-20030106.tar.bz2
- http://developer.ezaurus.com/sl_j/tool/tools.htm#Linuxからlinux-headers-arm-sa1100-2.4.6-3.i386.rpmとglibc-arm-2.2.2-0.i386.rpm
- クロス開発環境の構築からqtopia-free-1.5.0-1.i386.rpmとqtopia-free-1.5.0-1.src.rpm
- http://prdownloads.sourceforge.jp/zaurus-ja/9566/からqtopiasdk-gcc33-i386-cygwin-20040517.tar.bz2
- http://developer.ezaurus.com/sl_j/doc/reference.htmからlibqte.so.2.3.2.gzとsharpsdk-pub-20021227.tar.gz
- http://downloads.sourceforge.jp/zaurus-ja/1998/からtmake-conf-cygwin.tar.bz2とconfig-examples.tar.gz
qtopia-free-1.5.0-1.src.rpmはrpmコマンドで展開できなかったので、Windows上のツールで展開してqtopia-free-1.5.0.tar.gzを取得。
追記
/opt/Qtopia/tmake/lib/qws/linux-sharp-g++/tmake.sonfを要修正(qpeを追加)
TMAKE_LIBS_QT = -lqte -lqpe TMAKE_LIBS_QT_THREAD = -lqte-mt -lqpe-m ←こちらは自信なし
環境変数の設定、dev-arm-qpe.shの実行は頭の「.」(ピリオド)を忘れずに
$ . ~/SLZaurus/bin/dev-arm-qpe.sh
あとは、progen→tmake→makeでコンパイル
Cygwin上でのエミュレーション環境は上手く動作しませんでした。なぜかstartx_qvfbでX+twmが起動せず、別途Xを起動してstartqpeすると何とかdllが無いと怒られました。
QtopiaのサンプルプログラムとZEditorは上記の環境で動作しました、流石にPC上だとコンパイルが早いですねー
hello.cをprogen,tmakeでmakeするとエラーになったので作成したMakefileのLIBS行の「-lqte」を削除する。
以下、自分用に参考先の内容を丸ごとコピー
クロスコンパイラ $ cd / $ tar xvjf binutils-cross-arm-2.13.i386-cygwin.tar.bz2 $ tar xvjf gcc-cross-sa1100-2.95.3-i386-cygwin.tar.bz2 クロスコンパイル用ライブラリ類 $ rpm -iv --ignoreos linux-headers-arm-sa1100-2.4.6-3.i386.rpm $ rpm -iv --ignoreos glibc-arm-2.2.2-0.i386.rpm クロスコンパイル用QtopiaSDK展開 $ rpm -iv --ignoreos --nodeps qtopia-free-1.5.0-1.i386.rpm $ mv /opt/Qtopia/bin /opt/Qtopia/bin.linux $ mv /opt/Qtopia/lib /opt/Qtopia/lib.linux エミュ用QtopiaSDK展開(不要?) $ cd / $ tar xvjf qtopiasdk-gcc33-i386-cygwin-20040517.tar.bz2 $ mv /opt/Qtopia/lib.linux/fonts /opt/Qtopia/lib tmake設定ファイル展開 $ cd /opt/Qtopia/tmake/lib/qws $ tar xvzf tmake-sharp.tar.gz $ cd /opt/Qtopia/tmake/lib $ tar xvjf tmake-conf-cygwin.tar.bz2 環境設定ファイル展開 $ mkdir ~/SLZaurus/bin $ cd ~/SLZaurus/bin $ tar xvzf config-examples.tar.gz シャープライブラリインストール $ tar xvzf sharpsdk-pub-20021227.tar.gz $ mv /opt/Qtopia/sharp/lib /opt/Qtopia/sharp/lib.bak $ cp -R sharp/lib /opt/Qtopia/sharp/lib $ mv /opt/Qtopia/sharp/lib.bak/fonts /opt/Qtopia/sharp/lib/ $ cp -R include/sl /opt/Qtopia/include/ $ mv /opt/Qtopia/sharp/lib/libqte.so.2.3.2 /opt/Qtopia/sharp/lib/libqte.so.2.3.2.bak $ gunzip libqte.so.2.3.2.gz $ cp libqte.so.2.3.2 /opt/Qtopia/sharp/lib/