FC2ブログ
2008年05月 / 04月≪ 12345678910111213141516171819202122232425262728293031≫06月

2008.05.23 (Fri)

VisualStudioでQtプログラミング

QtはLINUX(X Window System)上のGUIツールキットの一つとして有名だが、WindowsやMacOSなどで動作させることも可能である。

今回はWindows上でQtプログラムを組むため、Visual Studioでコンパイル・実行できるようにしてみる。
そして、VisualStudioをつかって、Zaurus上で動く簡単なゲームでも作ろうかと思っている。

参考Webページ:Windows OS上のVisual StudioでQtを使う




・環境整備

Qtが使える環境を整える。
参考サイトを見ると、Qt開発元のTrolltech社のWebサイトから次のファイルを拾ってくるように書いてある。

* qt-win-opensource-src-4.x.x.zip
ソースパッケージ。x.xにはマイナーバージョン番号以下が入る。
* qt-win-opensource-4.x.x-mingw.exe
MinGWとプレビルドされたライブラリを含むインストーラ。

下のは入れてみたけど、なんかよくわからんが動かなかったので、上のを使って環境を整える。


トローテックの公式HPの Qt/Windows Open Source Edition から qt-win-opensource-src-4.x.x.zip となっている方を拾ってきて解凍し、「qt-win-opensource-src-4.x.x」というフォルダが出てくるはず。
これを適当なフォルダに置いてくる。
私は「C:」の下に置いてきました。


次に環境パスを設定する。
まず、QTを展開したディレクトリ下のbinを環境変数に追加するため、次のようにコマンドを打つ。
コマンドプロンプトを起動し、解凍したフォルダへ移動(この場合はC:\qt-win-opensource-src-4.x.x)、コマンドを入力する。
コマンドプロンプトで入力するコマンドはすべて赤で表示しておきます。

   C:\qt-win-opensource-src-4.x.x> PATH=%PATH%;C:\qt-win-opensource-src-4.x.x\bin

と入力する。
これで環境パスが追加されたはず。


Visual Studio 2005のビルド設定を行うために、環境変数QMAKESPECを指定。

   C:\qt-win-opensource-src-4.x.x> set QMAKESPEC=win32-msvc2005

と入力すればOK。


続いて、Qtのビルド。

   C:\qt-win-opensource-src-4.x.x> configure -debug-and-release -D _CRT_SECURE_NO_WARNINGS
   C:\qt-win-opensource-src-4.x.x> qmake

configure コマンドを実行すると、なんか聞かれると思うけど(「規約に同意しますか?」みたいな)、とりあえず「y」と入力した。
configure も qmake も処理が終わるまでかなり時間がかかった。


一応、これでコマンドプロンプト上でコンパイルと実行ができるようになったはず。
試しに実行してみる。




・コマンドプロンプト上でQtをビルド・実行

まず、「C:\qt-win-opensource-src-4.x.x」に「Hello」というフォルダを作成する。
次に、「hello.cpp」というファイルをHelloフォルダ内に作成。
次のようなプログラムを中に書く。

#include <QApplication>
#include <QPushButton>

int main(int argc, char* argv[])
{
QApplication app(argc, argv);

QPushButton hello("Hello world!");
hello.resize(100, 30);

hello.show();
return app.exec();
}


保存したら、コマンドプロンプトでHelloフォルダへ移動し、次のコマンドを順に実行。

   C:\qt-win-opensource-src-4.x.x> qmake -project
   C:\qt-win-opensource-src-4.x.x> qmake Hello.pro
   C:\qt-win-opensource-src-4.x.x> nmake

これでビルド(コンパイル)終了。
次は実行を行う。
正常にビルドされていれば、debugというフォルダができているはず。
なので、そこへ移動し、次のコマンド実行。

   C:\qt-win-opensource-src-4.x.x> Hello.exe

実行すると、こんな感じのウィンドウが表示されるはず。

Qt Hello World





・Visual Studio でビルド・実行

今度は Visual Studio でQtを使えるようにする。
次のコマンドを実行する。

   C:\qt-win-opensource-src-4.x.x> qmake -project -t vcapp

その後、

   C:\qt-win-opensource-src-4.x.x> qmake Hello.pro

と入力。
これで、 Hello.vcproj ができたはず。
だが、Hello.vcproj を普通に Visual Studio で読み込んでも実行できないはず。
そこで、次のコマンドで Visual Studio を起動し、Hello.vcproj を開く。

   C:\qt-win-opensource-src-4.x.x> devenv /useenv

VSを起動して Hello.vcproj を開いたら、ビルドして実行してみる。
再び、Qt でウィンドウを表示することができたはず。

Qt Hello World




どうやら、いちいち devenv /useenv で Visual Studio を起動しないといけないみたい。
めんどくさそう。
やっぱ、LINUX上でいろいろやった方が楽そうだ。





エラーメモ

>>C:\qt-win-opensource-src-4.4.0\Hello>qmake
>>'qmake' は、内部コマンドまたは外部コマンド、
>>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と表示された。
これは、パスがちゃんと通っていないことが原因である。
 set PATH=%PATH%;C:\qt-win-opensource-src-4.x.x\bin
パスを見直そう!

>>C:\qt-win-opensource-src-4.4.0\Hello>qmake
>>WARNING: Unable to generate output for: C:/qt-win-opensource-src-4.4.0/Hello//Makefile.Debug [TEMPLATE -vcapp]
>>WARNING: Unable to generate output for: C:/qt-win-opensource-src-4.4.0/Hello//Makefile.Release [TEMPLATE -vcapp]
と表示された。
Visual Studio 用のパスが通っていないのが原因ぽい
 set QMAKESPEC=win32-msvc2005
を実行したら警告が無くなった。


テーマ : プログラミング ジャンル : コンピュータ

01:36  |  プログラミング系  |  TB(0)  |  CM(2)  |  EDIT  |  Top↑
 | BLOGTOP |