[ C++で開発 ]
QtはX Window System上のGUIツールキットの一つです。KDEデスクトップのベースとして使用されています。APIはC++言語として提供されています。Cygwin上のXでQtを使ってみます。
GUIプログラミングにQtを使用するだけの場合、KDE全体をインストールする必要はありません。そこで、Qtを使うのに必要なものだけインストールします。
まず、Cygwinの以下のパッケージをあらかじめインストールします。(基本とXは勿論)
KDE Cygwinプロジェクトのサイトから、Qtバイナリパッケージをダウンロードします。
直接ファイルをダウンロードした場合、Cygwinのルートディレクトリでこれを展開します。/usr/lib/qt3以下に展開されます。
Cygwinのsetupでインストールするには、以下のURLを指定します。
http://kde-cygwin.sourceforge.net/install
QT-3というカテゴリにあるqt_3が上記Qtバイナリパッケージに該当します。
/etc/profile.d/qt3.shが追加されるので、あらたなCygwinコンソールを起動します。
C++では、最初のコンパイル・リンク・実行と大きな壁があります。インストール後はまずこれを乗り越えることが課題となります。ここでは、KDEプログラミングのドキュメント"Lerning Qt(日本語版)"からhello-world.ccをもって実行までの過程を確認します。
#include <qapplication.h> #include <qlabel.h> int main(int argc, char* argv[]) { QApplication app(argc, argv); QLabel label("Hello World!", NULL); app.setMainWidget(&label); label.show(); return app.exec(); } |
Cygwin Qtは現在のところ、GCC3.xには対応できていません。そこで、GCC2.95.xを使ってコンパイル・リンクします。
Cygwin Qtをインストールすると、起動時に環境変数QTDIRが設定されます。/etc/profile.d/qt3.shがインストール時に配置され、起動時に実行されるようになるからです。
work$ echo $QTDIR /usr/lib/qt3 work$ ls hello-world.cc work$ g++-2 -I$QTDIR/include -c hello-world.cc work$ ls hello-world.cc hello-world.o work$ |
Qtのライブラリは、libqtをリンクします。また、auto-importを有効にする指定をリンカにするために、-Wl,--enamble-auto-importを設定しています。
work$ g++-2 -o hello-world hello-world.o -L$QTDIR/lib -lqt \ -Wl,--enable-auto-import work$ ls hello-world.cc hello-world.exe hello-world.o work$ |
CygwinでXを起動し、上記で作成したhello-world.exeを実行します。