Qtopia開発環境
- 編集
[
サイトトップ
|
上へ
|
編集
|
一覧・作成
]
Qtopia開発環境 * FreeBSD, Mac OS X 上の Qtopia 開発環境構築 [#j2b7dba4] Zaurus の GUIアプリケーションを作成するためには、 GUI ツールキット Qt/Embedded と デスクトップ環境 Qtopia の開発環境を構築する必要があります。 ** 1. Qtopia 1.5.0 (free版) の入手 [#faaf2f77] Linux Zaurus で動いている Qtopia はバージョン 1.5.0 ですが、 このバージョンはすでに旧バージョン扱いとなっているらしく Trolltech のウェブページから直接たどることができません。 しかしながら、 [[ftp://ftp.trolltech.com/qtopia/sdk/SuSE7.0/:ftp://ftp.trolltech.com/qtopia/sdk/SuSE7.0/]] には今でもアーカイブが置いてあります。 以下の二つのファイルを入手してください。 Qt/Embedded もこれらのファイルに含まれています。 - [[qtopia-free-1.5.0-1.i386.rpm:ftp://ftp.trolltech.com/qtopia/sdk/SuSE7.0/qtopia-free-1.5.0-1.i386.rpm]] ~ Linux/i386 用コンパイル済開発環境 - [[qtopia-free-1.5.0-1.src.rpm:ftp://ftp.trolltech.com/qtopia/sdk/SuSE7.0/qtopia-free-1.5.0-1.src.rpm]] ~ 関連するソースアーカイブをまとめたもの。あとで使う。 ** 2. インストール [#va250ae4] qtopia-free-1.5.0-1.i386.rpm をインストールします。 # rpm2cpio qtopia-free-1.5.0-1.i386.rpm | cpio -id # find opt -type d | xargs chmod go+rx # mv opt/Qtopia /usr/local/zaurus ** 3. Qt 用ユーティリティのビルド [#p61d9edc] Qt ツールキット用のユーティリティ (uic, moc, designer, qvfb) を FreeBSD または Mac OS X 用にビルドしなおして、 /usr/local/zaurus/Qtopia/bin に上書きします。 まず qtopia-free-1.5.0-1.src.rpm を展開し、 X11 版 Qt (2.3.2) のソースアーカイブをとりだします。 % rpm2cpio qtopia-free-1.5.0-1.src.rpm | cpio -id 55443 blocks % ls qt-embedded-2.3.3.tar.gz qtopia-free.spec qt-x11-2.3.2.tar.gz tmake-1.8.tar.gz qtopia-free-1.5.0.tar.gz tmake18.patch ソースを展開し、以下の要領でコンパイルします。 KDEなどを使っている場合 Qt3 と干渉する可能性があるので、 make install などは行わず、 実行ファイルだけを /usr/local/zaurus/Qtopia/bin にコピーします。 configure で -static を指定しておくことがポイントです。 また、コンパイル前に以下のパッチをあてておきます。 - [[patch-qt:http://www.startide.jp/qtopia/qtopia/patch-qt]] # tar xzf qt-x11-2.3.2.tar.gz # cd qt-2.3.2 && env QTDIR=$PWD ./configure -no-opengl -no-xft -static # make && make -C tools/qvfb # install -c bin/uic bin/designer bin/moc tools/qvfb/qvfb \ /usr/local/zaurus/Qtopia/bin なお、uic 等に Qt3 以降のものは使えません。 必ず Qt2 用のものを用意してください。 Mac OS X の場合は configure スクリプトでプラットフォームを以下のように 指定します。また、X11 のライブラリ、実行環境を必要とするので、 あらかじめインストールしておきます。 # cd qt-2.3.2 && env QTDIR=$PWD ./configure -no-opengl -no-xft -static \ -platform macx-g++ ** 4. 動作確認 [#pc02720d] ここまでの作業を終えるとターゲット(実機)用のコンパイルができるようになります。 Qtopia の example をコンパイルしてみましょう。 % cp -r /usr/local/zaurus/Qtopia/example .; cd example % env TMAKEPATH=/usr/local/zaurus/Qtopia/tmake/lib/qws/linux-sharp-g++ \ /usr/local/zaurus/Qtopia/bin/tmake -o Makefile example.pro % env PATH=/usr/local/zaurus/Embedix/tools/bin:$PATH \ QTDIR=/usr/local/zaurus/Qtopia/sharp make * FreeBSD版 Qtopia のビルド [#g6e3b1a8] 前節までの作業で、Zaurus をターゲットとする Qtopia アプリケーションの ビルドができるようになりましたが、Qtopia の開発パッケージにはこの他に ネイティブコードのコンパイル・実行用のライブラリが含まれています。 これを有効に使えば、 ホスト上でコンパイル・実行・デバッグのサイクルを回すことによって、 開発効率をあげることができます。 配布されている RPM ファイルに含まれているのは Linux/i386 用のバイナリな ので、これも FreeBSD 用のものに置き換えてみます。 なお、Mac OS X に対してはこちらの作業は省略します。 ** 1. GCC 2.95 のインストール [#j9da30aa] FreeBSD 5.x 以降のベースシステムのコンパイラには gcc 3.x が採用されていますが、Qt/E, Qtopia は コンパイラのバージョンにセンシティブなので、 適合バージョンである GCC 2.95 を ports でインストールします。 ホストが FreeBSD 4.x 以前の場合は、 ベースシステムのコンパイラが GCC 2.95 なので このステップは必要ありません。 # cd /usr/ports/lang/gcc295 # make install また、以降のコンパイルが楽になるように シンボリックリンクをはっておきます。 # ln -s /usr/local/bin/gcc295 /opt/Qtopia/bin/gcc # ln -s /usr/local/bin/g++295 /opt/Qtopia/bin/g++ ** 2. Qt/Embedded, Qtopia のビルド [#lbaec076] 前節で qtopia-free-1.5.0-1.src.rpm から出てきた ソースアーカイブを展開し、 Qt/Embedded と Qtopia のソースコードにパッチをあてます。 - [[patch-qte:http://www.startide.jp/qtopia/qtopia/patch-qte]] - [[patch-qtopia:http://www.startide.jp/qtopia/qtopia/patch-qtopia]] # tar xzf qt-embedded-2.3.3.tar.gz # tar xzf qtopia-free-1.5.0.tar.gz # patch -p0 < patch-qte # patch -p0 < patch-qtopia Qt/Embedded のライブラリ libqte.so.2.3.2 を Qtopia 向けにビルド、インストールします。 # cp qtopia-free-1.5.0/qt/qconfig-qpe.h qt-2.3.3/src/tools # cd qt-2.3.3 && \ env QTDIR=$PWD \ QTEDIR=$PWD \ PATH=/usr/local/zaurus/Qtopia/bin:$PATH \ sh -c "./configure -qconfig qpe \ -qvfb -depths 4,8,16,32 && make sub-src" # install -c lib/libqte.so.2.3.2 /usr/local/zaurus/Qtopia/lib 続いて Qtopia をビルド、インストールします。 (先に当てたパッチで、いくつかのサンプルアプリケーションのコンパイルを 諦めています。) # cd qtopia-free-1.5.0 && \ env QTDIR=/usr/local/zaurus/Qtopia \ QPEDIR=$PWD \ TMAKEPATH=/usr/local/zaurus/Qtopia/tmake/lib/freebsd-g++ \ PATH=/usr/local/zaurus/Qtopia/bin:$PATH \ sh -c "./configure && make" # install -c bin/* /usr/local/zaurus/Qtopia/bin ** 3. 動作確認 [#ia936c8a] Qtopia の example をコンパイルしてみましょう。 % cp -r /usr/local/zaurus/Qtopia/example .; cd example % env TMAKEPATH=/usr/local/zaurus/Qtopia/tmake/lib/qws/freebsd-g++ \ /usr/local/zaurus/Qtopia/bin/tmake -o Makefile example.pro % env PATH=/usr/local/zaurus/Qtopia/bin:$PATH \ QTDIR=/usr/local/zaurus/Qtopia make 実行には仮想フレームバッファ qvfb を使います。 % /usr/local/zaurus/Qtopia/bin/qvfb & Using display 0 % env LD_LIBRARY_PATH=/usr/local/zaurus/Qtopia/lib \ QTDIR=/usr/local/zaurus/Qtopia ./example -qws Connected to VFB server: 240 x 320 x 32
円周率を小数点以下二桁まで入力してください:
Copyright (C) 2008-2022
Startide Project,
all rights reserved.