Qt (11) Qt Creator とVC++コンパイラを使ったQtアプリ作成
公開日| 2009年08月28日 | コメントはまだありません。
カテゴリー:Qt |
概要 : 今回は、Qt Creatorについて簡単に解説したいと思います。
Qt Creatorとは、Qt SDKの一つで、Qtアプリを作成するための開発統合環境(IDE)のことです。
開発統合環境(IDE)とは言っても、Qt Creator自身には、独自のコンパイラは同梱されていません。 Qt Creatorを使って、Windowsで開発する場合は、MinGwがデフォルトで同梱されています(バイナリ環境の場合)。
Linux, Unixes, Mac OSでは、gccが備わっていますので、そのコンパイラを用いることになります。
このように、Qt Creatorは、gcc系のコンパイラのみで動作するようになっていました。(詳しくは、VC++でもコンパイルまではできていましたが、デバッグできませんでした。)
しかし、バージョン1.2以降において、Windowsの環境において、VC++のコンパイラを用いて、コンパイルの実行、デバッグができるようになりました。
今回は、その環境設定について、簡単に解説したいと思います。
Qt Creator ダウンロード: http://qt.nokia.com/downloads
下の方に"Qt Creator IDE"とありますので、そこからダウンロードしてください。
Debugging Tools for Windows 32bit版 ダウンロード: http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx
Debugging Tools for Windows 64bit版 ダウンロード: http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx
参考ページ: http://doc.trolltech.com/qtcreator-1.2/creator-debugging.html
下の方に"Qt Creator IDE"とありますので、そこからダウンロードしてください。
Debugging Tools for Windows 32bit版 ダウンロード: http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx
Debugging Tools for Windows 64bit版 ダウンロード: http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx
参考ページ: http://doc.trolltech.com/qtcreator-1.2/creator-debugging.html
まず、Qt Creatorを最新版にしましょう。
ここでは、Qt CreatorをVisual Studio 2008 (C++)のコンパイラを使用して、利用したいので、
以下の参考記事のとおり、すべてをVC++ 2008でコンパイルしておきます。参考記事: VC++ 2008 Expressを使ってQtの環境設定とサンプルコンパイル
また、最新バージョンを上記のとおりVC++ 2008でコンパイルすれば、間違いが少ないのですが、 如何せん、全コンパイルを実施すると時間がかかります。
しかしながら、Qt Creatorがバージョンが1.2以前のものの場合は、最新に更新する必要があります。
その場合、ソースコードのみをダウンロードします。
※ソースコードのダウンロードも上記のダウンロード先からダウンロードできます。
バイナリは、MinGWでコンパイルされていますので、どうしても動作が不安定になりがちです。
できるだけ、最新のものをVC++でコンパイルすることをお勧めします。
できるだけ、最新のものをVC++でコンパイルすることをお勧めします。
ソースコードをダウンロードした時のビルドの仕方について、簡単に記載しておきます。
(Visual Studio 2008)コマンドプロンプトからは、Qtアプリケーションのコンパイができるものとして記述します。
- ダウンロードしたソースコードのZIPファイルを解凍します。
例)%Qtインストール先%\qt-creator-1.x.x-src\
わかり易いように、%Qtインストール先%への解凍をお勧めいたします。
- (Visual Studio 2008)コマンドプロンプトから以下のようにコマンドを入力します。
※カレントディレクトリは、先の解凍先へ切り替えた後、以下のコマンドを実行します。
1 2 3 4 5
%Qtインストール先%\qt-creator-1.x.x-src> qmake qtcreator.pro %Qtインストール先%\qt-creator-1.x.x-src> nmake release : : %Qtインストール先%\qt-creator-1.x.x-src>
namkeが終了するまで約1?2時間ほどかかります。
nmakeのパラメータを忘れないようにしましょう。
何も指定しないとデバッグ版が作成されてしまいます。
デバッグ版は、異常に遅いので、注意しましょう。
特に問題なければ、%Qtインストール先%\qt-creator-1.x.x-src\bin\qtcreator.exe というファイルが作成されていると思います。
Qt Creatorの環境を設定しましょう。
Qt Creatorの環境設定の前に、Debugging Tools for Windowsをインストールします。上記のダウンロード先から、マシン環境にあったものをダウンロードします。
インストールは、インストーラに従いインストールします。
特別何か設定する必要もありません。フルインストールするだけですので、説明は割愛いたします。
さて、次に、Qt Creatorの設定です。
先に作成された最新のqtcreator.exeを実行します。
※qtcreator.exe をエクスプローラからのダブルクリックで、直接、起動します。
通常のQtアプリケーションと同様ですので、QtCore4.dll,QtGui4.dllなどへパスが設定されていないと動作しません。
パスを設定したくない場合は、QtCore4.dll,QtGui4.dllなどの必要なDLLを同じディレクトリへコピーしましょう。
パスを設定したくない場合は、QtCore4.dll,QtGui4.dllなどの必要なDLLを同じディレクトリへコピーしましょう。
[ツール] - [オプション] - [Qt4] - [Qt Versions] を開きます。

ここで、Qtの異なるバージョンがあれば、コンボボックスに表示されます。

使いたいQtのバージョンを違いないようにデフォルトとして設定します。また、そのQtのバージョンをリストから選択します。 VC++でコンパイルしていれば、ここのコンパイラには、VC++のコンパイラが表示されます。

そうでない場合は、MinGWのみが表示されますので、そのQtライブラリは、VC++では使えません。

ここで、VC++のバージョンが複数ある場合は、コンボボックスに複数表示されますので、ここも間違いのないようにバージョンを選択します。
カスタムダンパライブラリのリビルドを必ず実施します。
※Qt Creatorとこのライブラリのバージョンが異なるとクラッシュします。
デバッグヘルパの右のリビルドボタンをクリックします。
ここで、作成されるファイルは、以下のディレクトリに作成されます。
%Qtインストール先ディレクトリ%\qt\qtc-debugging-helper\debug\gdbmacros.dll
上記ファイルを、 [ツール] - [オプション] - [デバッガ] - [デバッグヘルパ] を開き、パスへ指定します。
最後に、デバッグ環境が正しく設定されているか確認します。
[ツール] - [オプション] - [デバッガ] - [Cdb] を開きます。

このようにDebugging Tools for Windowsのインストール先が設定されていればOKです。
もし、設定されていないようであれば、参照ボタンをクリックして、Debugging Tools for Windowsのインストール先ディレクトリを指定します。
ここまで、設定できたら、一旦、Qt Creatorを立ち上げなおしましょう。
Qt Creatorでデバッグしてみましょう。
簡単なQtアプリケーションを作成します。[ファイル] - [新規作成] - [Qt GUIアプリケーション]を選択します。

選択したら、OKをクリックします。

テスト用なので、プロジェクト名を適当に設定します。
選択したら、Next をクリックします。

テスト用なので、デフォルトの設定のままとします。
選択したら、Next をクリックします。

テスト用なので、デフォルトの設定のままとします。
選択したら、Next をクリックします。

この画面は、最終確認画面です。
確認を終えたら、完了 をクリックします。
プロジェクトが作成されると管理画面が表示されます。

このようにプロジェクトを作成するのも、VC++の操作とさほど変わりません。
以降のデバッグの操作もVC++の操作とさほど変わりません。
VC++での操作に慣れている方であれば、すんなりと操作できます。
以降のデバッグの操作もVC++の操作とさほど変わりません。
VC++での操作に慣れている方であれば、すんなりと操作できます。
ビルドは、[ビルド] - [すべてをビルド]で全コンパイルおよびリンクを行います。
このとき、ビルドの実行中の出力情報は、自動では表示されません。(このあたりは、気が利かない感じですね。)
その際、以下のように右下のコンパイル出力のボタンをクリックすると表示されます。

(上のコンパイル出力中でない場合は、)すべてを終了した時に、エラー、警告は、自動で表示されます。
次は、いよいよデバッグです。
まず、main.cppを開いて、適当なところにブレイクポイントを設定してみましょう。
ブレイクしたい行へカーソルを持って行き、そこで、[デバッグ] - [ブレイクポイントの切り替え]をクリックするとカーソルの行に赤丸が表示されます。

[デバッグ] - [デバッグ開始] - [デバッグ開始] をクリックするとデバッグ実行します。
先のブレイクポイント箇所で止まるはずです。

ローカル変数の中身も簡単にのぞけますね。
ステップ実行、ステップインなども、同様にメニュー操作でできます。
また、デバッグのファンクションキーの割り当ては、VC++の6.0のキーバインディングに似ていますので、それに慣れている方は、違和感なく使えます。
また、デバッグのファンクションキーの割り当ては、VC++の6.0のキーバインディングに似ていますので、それに慣れている方は、違和感なく使えます。
WIN32固有のソースを盛り込む場合、デフォルトでは、Windowsの標準ライブラリがリンクされません。
WIN32固有の処理が必要な場合は、プロジェクトファイル(.pro)に、直接、以下のように追加するとリンクできるようになります。
LIBS += kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
また、Windowsのリソースファイルをコンパイルしたい場合も、同様にプロジェクトファイル(.pro)に、直接、以下のように追加するとコンパイルできるようになります。
RC_FILE += xxxx.rc
xxxx.rc : リソースファイル
WIN32固有の処理が必要な場合は、プロジェクトファイル(.pro)に、直接、以下のように追加するとリンクできるようになります。
LIBS += kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
また、Windowsのリソースファイルをコンパイルしたい場合も、同様にプロジェクトファイル(.pro)に、直接、以下のように追加するとコンパイルできるようになります。
RC_FILE += xxxx.rc
xxxx.rc : リソースファイル
何が悪いのかは不明ですが、たまに、筆者のマシン環境でデバッグすると、開始時、終了時にパソコンがロックしたようになることがありました。
しばらくすると(数分)、元にもどります(たぶん、デバッガがすぐに停止しきれないのかなぁと思いましたが・・・)。まだ、多少、不安定なとこもあるのかもしれませんね。
でも、プロジェクト管理とリソース、画面作成まで、オールインワンでできるのは、非常に魅力的です。
また、当然、MinGWのコンパイル速度に比べても早いですし、デバッグも早いと思います。(筆者の個人的な感想です。)
一度、試されるのも良いと思います。
そろそろ、Qtも本格的な利用にも耐えうるようになってきたように感じています。
追記:
(2009.9.1現在) 1.2.90のブランチが作成されています。
この最新バージョンは、1.3のRC版のようです。(正式な公開版ではないので、十分注意が必要です。)1.2.1に比べて、非常に安定した感じがします。上記のようなロックしたようなことは、少なくなりました。
以下のURLから、ソースコードをダウンロードし、先の1.2.1のディレクトリへ上書きして、リコンパイルするとできます。 (もちろん、全く別のディレクトリでも良いと思いますが)
Qt Creator 1.2.90 ダウンロード: http://qt.gitorious.org/qt-creator/qt-creator/commits/1.2.90
画面右の"Download 1.2.90 as tar.gz" をクリックするとダウンロードが始まります。
以下のようにカスタムダンパライブラリを読み込んでいる最中に、アプリケーションを停止すると、頻繁にPCがロックしたようになります。
デバッガ実行中へ切り替わってから終了すると、比較的、安定し停止します。

非常に魅力的なのですが、現状では、この組み合わせでは、正直、ちょっと考えてしまいますね。(この組み合わせの安定版が、出ることを願っています。)
しばらくすると(数分)、元にもどります(たぶん、デバッガがすぐに停止しきれないのかなぁと思いましたが・・・)。まだ、多少、不安定なとこもあるのかもしれませんね。
でも、プロジェクト管理とリソース、画面作成まで、オールインワンでできるのは、非常に魅力的です。
また、当然、MinGWのコンパイル速度に比べても早いですし、デバッグも早いと思います。(筆者の個人的な感想です。)
一度、試されるのも良いと思います。
そろそろ、Qtも本格的な利用にも耐えうるようになってきたように感じています。
追記:
(2009.9.1現在) 1.2.90のブランチが作成されています。
この最新バージョンは、1.3のRC版のようです。(正式な公開版ではないので、十分注意が必要です。)1.2.1に比べて、非常に安定した感じがします。上記のようなロックしたようなことは、少なくなりました。
以下のURLから、ソースコードをダウンロードし、先の1.2.1のディレクトリへ上書きして、リコンパイルするとできます。 (もちろん、全く別のディレクトリでも良いと思いますが)
Qt Creator 1.2.90 ダウンロード: http://qt.gitorious.org/qt-creator/qt-creator/commits/1.2.90
画面右の"Download 1.2.90 as tar.gz" をクリックするとダウンロードが始まります。
以下のようにカスタムダンパライブラリを読み込んでいる最中に、アプリケーションを停止すると、頻繁にPCがロックしたようになります。
デバッガ実行中へ切り替わってから終了すると、比較的、安定し停止します。

非常に魅力的なのですが、現状では、この組み合わせでは、正直、ちょっと考えてしまいますね。(この組み合わせの安定版が、出ることを願っています。)
もっと、Qt関連について詳しく知りたい方は、以下の本なども良いと思います。Qtに関する日本語の本が少ないですね。「入門書」は、さすがに、このページを読まれるくらいの方は不要だと思います。
やっぱり、本+ネット+試してみる!!の3本柱でやっていく以外にないように思います。
![]() 入門 Qt 4 プログラミング | ![]() Qtプログラミング入門―使いやすいフレームワークを基礎から解説 (I・O BOOKS) | ![]() 24時間集中講座 Qtプログラミング | ![]() Qtプログラミング入門 | ![]() Qt GUIプログラミング (C magazine) |






