特集
» 2004年12月17日 12時45分 公開

UNIX USER1月号「デスクトップで動かす・学ぶQt/Embedded」より転載:Qt2系列とQt3系列――第1回 フレームバッファでQtアプリ(その2) (2/3)

[杉田研治,UNIX USER]
インストールの準備

 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)については、概要だけ後述します。

機器構成とOS

 本稿のテスト用に使用している機器は、表8のようになります。組み込み機器と比較すると余裕のある構成ですが、この程度のスペックでは、以降に示すようにコンパイル時間がかかります。最近のデスクトップマシンならコンパイル時間をもっと短縮できるでしょう。

表8 使用した環境
構成要素 内容
CPU AMD K6-2/400MHz
メモリ 384MB
メインボード FreeWay FW-TI5VGF
グラフィックカード Matrox Graphics Millennium U 4MB AGP
SCSI カード Adaptec AHA-2940UW
ハードディスク IBM DCAS-32160W 2GB
キーボード Happy Hacking Keyboard Lite 2、
PS/2接続、ASCII配列
マウス Logitech 3ボタン、PS/2接続
OS Vine Linux 3.0

Qtの入手方法

 まずはQtですが、オープンソース版を次のURLから入手します。

ftp://ftp.trolltech.com/qt/source/

 必要なファイルは、Qt/X11とQt/Embeddedのコードである次の2つです。

  • qt-x11-free-3.3.3.tar.bz2
  • qt-embedded-free-3.3.3.tar.bz2

作業ディレクトリとソースコードの展開

 入手した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

サンプル作成に必要なRPM

 連載を通して画像ファイルのビューワをサンプルプログラムとして取り上げるため、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.

注目のテーマ