インストールの準備 |
Qt/Embeddedの標準的なインストール手順を説明します。実際の開発では、ターゲット環境とアプリケーションに合わせて、不要な機能の削除などカスタマイズやイメージフォーマットの追加を行います。これらについては、第2回で詳しく説明します。
Qt/Embeddedの開発環境は、大きく次の3つに分けられます。
(1)デスクトップマシンのLinuxにX11環境を構築し、Qt/X11をインストール
開発は、Linux/X11上で開発ツールを使用して行います。Qt/X11には、(2)で作成するQt/EmbeddedプログラムをX11上で実行するための仮想フレームバッファプログラムqvfbも含まれます。
(2)デスクトップマシンのLinuxにフレームバッファ環境を構築、Qt/Embeddedをインストール
通常はqvfbで開発をしますが、デスクトップLinuxのフレームバッファを使いX11サーバーなしでQt/Embeddedプログラムを動かすこともできます。
(3)ターゲット環境向けのクロス開発環境を構築し、Qt/Embeddedをインストール
ターゲットマシン用のバイナリを作成するための環境です。
ターゲット環境に応じてどれをインストールするか決めます。今回の目的では(1)と(2)が必要となります。(3)については、概要だけ後述します。
本稿のテスト用に使用している機器は、表8のようになります。組み込み機器と比較すると余裕のある構成ですが、この程度のスペックでは、以降に示すようにコンパイル時間がかかります。最近のデスクトップマシンならコンパイル時間をもっと短縮できるでしょう。
|
まずはQtですが、オープンソース版を次のURLから入手します。
ftp://ftp.trolltech.com/qt/source/
必要なファイルは、Qt/X11とQt/Embeddedのコードである次の2つです。
入手した2つのアーカイブを展開します。以下では、作業ディレクトリを/usr/local/qtとしています。ご利用の環境に合わせて読み替えてください。
$ cd /usr/local/qt $ tar jxf qt-x11-free-3.3.3.tar.bz2 $ tar jxf qt-embedded-free-3.3.3.tar.bz2 |
リスト2がQtのディレクトリ構成です。インクルードファイルは、includeからsrc内へシンボリックリンクされています。ほとんどのソースコードは共通で、Qt/Embedded用のコードはファイル名が_qws.cppや_qws.hという名前で、src/kernelとsrc/embeddedの両ディレクトリ内にあります。
リスト2 Qtのディレクトリ構成 |
|― bin/ バイナリコマンドとスクリプト |― doc/ | |__ html/ HTMLリファレンスマニュアル | |__ man/ man形式APIマニュアル |― examples/ サンプルコード |― include/ インクルードファイル |― lib/ ライブラリ | |__ fonts/ Qt/Embedded用フォント |― mkspecs/ qmakeテンプレート | |__ qws/ Qt/Embedded用qmakeテンプレート |― plugins/ | |__ designer/ Qt Designerプラグイン | |__ gfxdrivers/ グラフィックドライバプラグイン | |__ imageformats/ イメージフォーマットプラグイン | |__ sqldrivers/ SQLドライバプラグイン | |__ src/ プラグインソース | |__ styles/ スタイルプラグイン |― qmake/ qmakeソース |― src/ Qtライブラリソース | |__ 3rdparty/ サードパーティライブラリ | |__ canvas/ キャンバス | |__ codecs/ コーデック | |__ dialogs/ ダイアログ | |__ embedded/ Qt/Embedded専用コード | |__ iconview/ アイコンビュー | |__ kernel/ コアコード | |__ moc/ MOC(Meta Object Compiler) | |__ network/ ネットワーク | |__ opengl/ OpenGL | |__ sql/ SQL | |__ styles/ スタイル | |__ table/ テーブル | |__ tools/ 汎用クラス | |__ widgets/ ウィジェット | |__ workspace/ マルチウィンドウインターフェイス | |__ xml/ XML |― tools/ ツールソース | |__ assistant/ Qt Assistantマニュアルブラウザ | |__ designer/ Qt Designerウィジェットデザイナ | |__ linguist/ Qt Linguistメッセージ翻訳ツール | |__ makeqpf/ QPF(Qt Portable Font)生成ツール |― tutorial/ チュートリアル |
インストール方法についての詳細は、配布ソース中のINSTALLファイルとリファレンスマニュアルに書かれています。展開したソースのdoc/html/index.htmlをブラウザで開き、リスト3のようにたどるとリファレンスマニュアルの説明があります。
前述のドキュメントを参考に、以降で今回の目的に沿ったインストール手順を説明します。
リスト3 インストールの詳細ドキュメント |
「All Overviews and HOWTOs」(3列2段目のOverviewsの囲みの先頭) →「Installation」(1列2段目のGeneralの囲みの先頭) →「Installint Qt/Embedded」(2列3段目のQt/Embeddedの囲みの2つ目) |
オープンソース版では不要ですが、商用版の場合には次の作業をしておくと良いでしょう。コンフィグレーションの前に、次のファイルに入手したライセンス情報を入れておくことで、コンフィグレーション時にライセンスキーの入力をしなくて済みます。
$ cat $HOME/.qt-license # Qt GUI Toolkit license file CustomerID="XXXXX" LicenseID="XXXXXXX" Licensee="Kenji Sugita" Products="qt-enterprise" ExpiryDate=XXXX-XX-XX LicenseKey=XXXX-XXXX-XXXX |
連載を通して画像ファイルのビューワをサンプルプログラムとして取り上げるため、Vine Linux 3.0では次のRPMがインストールされている必要があります。
freetype2-devel libjpeg-devel libmng-devel libpng-devel libtiff-devel zlib-devel |
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.