2014年4月7日月曜日

QtプロジェクトからVisual StudioやXcodeのプロジェクトを作成

Qt .proファイルからIDEのプロジェクトファイルを作成

QtにはQt Creatorという開発環境があります.Qt Creatorでユーザーインターフェイスのデザインからアルゴリズムコーディングまでの全てを実装することも出来ますが,私は,Qt CreatorでQtプロジェクトの作成と設定のみを行い,その後はWindowsではVisual Studio,MacではXcodeなど使い慣れた統合開発環境で開発を行っています.Qt CreatorではかんたんにQtに関する設定が出来る上,クロスプラットフォームである利点を活かせるからです.

まずはQt CreatorでQtプロジェクトを作成する

.proファイルが作成されていますね.ここで依存ライブラリなどの設定も行います.

インクルードパスを追加 (Windows/Macそれぞれで)

INCLUDEPATHとDEPENDPATHにインクルードするためのディレクトリへのパスを追加します
# Windows向けにincludeディレクトリを追加する例
win32: INCLUDEPATH += C:/OpenCV/opencv-2.4.6/build/x64/vc10/include
win32: DEPENDPATH += C:/OpenCV/opencv-2.4.6/build/x64/vc10/include

# Mac向けに追加する例
macx:INCLUDEPATH += /usr/local/Cellar/opencv/2.4.6.1/include
macx:DEPENDPATH += /usr/local/Cellar/opencv/2.4.6.1/include

依存ライブラリを追加 (Windows/Macそれぞれで)

LIBSに"-Lライブラリのディレクトリへのパス", "-l追加するライブラリファイル"で追加するわけですね.
# Windows向けに追加する例(1行目がリリースモード,2行目がデバッグモード)
win32: CONFIG(release, debug|release): LIBS += -LC:/OpenCV/opencv-2.4.6/build/x64/vc10/lib/ -lopencv_core246 -lopencv_highgui246 -lopencv_imgproc246
else: win32:CONFIG(debug, debug|release): LIBS += -LC:/OpenCV/opencv-2.4.6/build/x64/vc10/lib/ -lopencv_core246d -lopencv_highgui246d -lopencv_imgproc246d

# Mac向けに追加する例
macx: LIBS += -L/usr/local/Cellar/opencv/2.4.6.1/lib/ -lopencv_core -lopencv_highgui -lopencv_imgproc

ビルド時のシンボルを定義

ビルド時のシンボルも定義してみます.
# デバッグビルド時は_Debugを定義する
CONFIG(debug, debug|release): DEFINES += _Debug

Visual Studioのプロジェクトを生成

Qtプロジェクトファイル(.pro)があるディレクトリにて次のコマンドを実行します.
# Visual C++ 2010
$qmake -spec win32-msvc2010 -tp vc

# Visual C++ 2012
$qmake -spec win32-msvc2012 -tp vc

Xcodeプロジェクトを生成

Qtプロジェクトファイル(.pro)があるディレクトリにて次のコマンドを実行します.
$qmake -spec macx-xcode

総括

Qt CreatorでQtプロジェクトの作成・設定を行ってqmakeコマンドを使って各統合開発環境のプロジェクトファイルを作成しました.クロスプラットフォームで使い慣れたツールを使って開発をするときに便利だと感じています.