クロスプラットフォームGUIフレームワークに何を使おうかと思っているが、使ってみて判断しようととりあえずQtから手をつけることにした。とりあえず、NokiaからMac用のLGPLライセンス版をダウンロードしてインストールした。(Nokia Qtサイト)
そして、入門Qtプログラミングという本も入手した。この本とQtサイトのドキュメントとぱらぱらっと見た感じでは、統合開発環境のQt Createrというものを使って開発するか、テキストエディタでコードを書いてqmakeというユーティリティを使ってビルドするかということになるらしい。
別に明確な理由はないが、どうも統合開発環境というのは苦手なので、Emacs + qmakeで始めてみようと思う。
新しいことを始めるときは、やはりHello Worldからがお約束だと思うので、入門Qtプログラミングの最初にあるものを書いてみた。
- #include <QApplication>
- #include <QLabel>
- int main(int argc, char* argv[])
- {
- QApplication app(argc, argv);
- QLabel *label = new QLabel("Hello Qt!");
- label->show();
- return app.exec();
- }
これをビルドしようと以下のコマンドを実行した。
$ qmake -project $ qmake qthello.pro
本の記述によると、これでmakeファイルが生成されて、後は"make"を実行すればよいとあるが、Qt4.7.0+Mac OS X 10.6.6の環境ではxcodeプロジェクトが生成される。デフォルト動作が変わっているようなので、明示的に指定する必要があるようだ。そこで、
$ qmake -project $ qmake -spec macx-g++
とすると無事に"Makefikeが生成された。その後"make"してみると".app"が作成された。
しかし、
ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found
というWarningが出力される。調べてみるとバグレポートされている。4.7.1でFixしているらしい。あまり気にしなくて良さそうなので、出来上がった実行ファイルを実行すると
こんな感じになった。
コメント