インストール
Qt(MinGW版)のインストール、設定。取って出しのチェック用プログラムビルドをantで行います。
Qt libraries 4.7.2 for Windows (minGW 4.4, 321 MB)
チェック
- [スタート][Qt by Nokia v4.7.2 (MinGW OpenSource)][Designer]を使ってサンプル用のダイアログを作成、untitled.uiとして保存
- bashプロンプトで、次のようにqmake実行*1。ui_untitled.hが作成される。
$ qmake.exe -project untitled.ui
- c++言語ソース anttest.cpp
#include "ui_untitled.h" #include <iostream> #include <iomanip> using namespace std; main( int argc, char* argv[] ) { cout <<"Hello, Qt's world!" <<endl; QApplication app(argc, argv); QDialog* qd=new QDialog(); Ui_Dialog dialog; dialog.setupUi( qd ); return qd->exec(); }
正しいかどうかさえもわからない。Qtの知識ゼロ。数年前にちょっと遊んだ記憶はありますが、当時の記憶ゼロですし。
- ANTビルド用 build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="CheckANT" default="build" basedir="." xmlns:cpptasks="antlib:net.sf.antcontrib.cpptasks"> <macrodef name="uic"> <sequential> <exec executable="c:/Qt/4.7.2/bin/uic.exe"> <arg line="untitled.ui"/> <arg line="-o ui_untitled.h"/> </exec> </sequential> </macrodef> <target name="build"> <uic/> <cpptasks:cc outtype="executable" subsystem="gui" outfile="hello" rtti="true" exceptions="true" multithreaded="true"> <fileset dir="." includes="*.cpp"/> <libset dir="c:/Qt/4.7.2/lib" libs="stdc++,qtmaind,QtGuid4,QtCored4"/> <includepath path="c:/Qt/4.7.2/include"/> <compilerarg value="-I'c:/Qt/4.7.2/include/QtCore'"/> <compilerarg value="-I'c:/Qt/4.7.2/include/QtGui'"/> <compilerarg value="-I'c:/Qt/4.7.2/include'"/> <compilerarg value="-I'.'"/> <compilerarg value="-I'c:/Qt/4.7.2/include/ActiveQt'"/> <compilerarg value="-I'debug'"/> <compilerarg value="-I'c:/Qt/4.7.2/mkspecs/default'"/> <linkerarg value="--enable-stdcall-fixup"/> <linkerarg value="-Wl"/> <linkerarg value="-enable-runtime-pseudo-reloc"/> <linkerarg value="-mthreads"/> <linkerarg value="--enable-auto-import"/> </cpptasks:cc> </target> </project>
普通に「ant」して、ビルド。無理やりantと組み合わせましたが、Creator使うつもりなので、ちょっとした興味という程度。
結果は、OKとCancelボタンだけのダイアログがポップアップ。bashコンソールには「Hello, Qt's world!」の(まぬけな)メッセージ。動いてはいるようです。
結果
驚きました。Qtの完成度。見た目や機構ではなく、インストールからビルドまでの経緯がすっきりとしていて*2。某大手の開発環境設定はお約束事が多すぎて、ビルド前にめげてしまいますが。Qtの場合は、知識ゼロでも動いたのには驚いた。これは、Qtの機構の完成度も期待させるものだと思いました。
実際に使うのは、「Qt SDK by Nokia v2010.05 (open source)」に同梱される統合環境「QtCreator」だと思いますが、某大手統合環境みたいに、お約束満載でやりたいことがなかなかできないという事態にはならないだろうという期待感があります。
せっかくだから「Qt SDK 1.1 RC」使おうかな?
Qtダウンロードサイト