最終更新:2013年06月11日 (火) 17時40分31秒
Qtのビルドメモです.現在,
OpenCVビルドのためのビルド方法となっています.デモ・Qtを使ったプログラムのためのビルドになっているかわかりません.
Note:
- VisualStudio2012導入により,msvc2010でコンパイルエラー → 解決
- 32bit nmake 成功.デモはWebkit,OpenGL等のdll不足により動かず.ビルドしたい.
- 64bit ビルド時に,マルチコアビルド試してみたい.
ビルド
ソースのダウンロード
ソースを.zipなどでダウンロードします.
展開先のフォルダは次がおすすめです.どちらでビルドしたか忘れられません.
また,Tools内にOpenCVなどをまとめると,移動・バックアップにも便利です.
c:\Tools\Qt\Qt4.8.4x86_msvc2010
c:\Tools\Qt\Qt4.8.4x64_msvc2010
ビルド方法
参考元は以下3つです.
※ 基本的な流れは公式に沿います(ソース付属のINSTALL>リンク先).参考先によると,基本的な流れに以下を+するといいのでしょうか.
手順 1. ソースの訂正2箇所(msvcとのエンコードの問題?訂正しないとコンパイルエラー?)
次のファイルをメモ帳か何かで開き,文字を置換します.
Qtソースフォルダ\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp
325行目と327行目 全角文字“, ”→半角文字 ' もしくは \" と置換.
手順 2. msvcコマンドプロンプト
msvc2008/2010いずれかのコマンドプロンプトを開き,カレントディレクトリを移動します.
cd Qtのソースフォルダパス
64bitでコンパイルする際は以下を実行してください.
※ Express版の方ははじめ,64bitコンパイルできません.<s>
こちら</s>を参照してください
vcvars64.bat.
手順 3. コンフィグ時のオプション
下記いずれかのオプションでconfigureしてください.
標準(?)
scanfの警告対策:-D _CRT_SECURE_NO_WARNINGS
コンパイルするのmsvcバージョン(適宜変えて下さい):-platform win32-msvc2010
MSVC2008の場合:configure -debug-and-release -D _CRT_SECURE_NO_WARNINGS -platform win32-msvc2008
MSVC2010の場合:configure -debug-and-release -D _CRT_SECURE_NO_WARNINGS -platform win32-msvc2010
OpenCV用にビルドする際は以下のようにすることで,OpenCVのビルドに不要なQtビルドの一部を省くことができます.※opencvをdebugでビルドする際は,Qtのdebugも必要なのかもしれません.
リリース版のみビルド:-release
-no-:省く対象
MSVC2008の場合:configure.exe -debug-and-release -D _CRT_SECURE_NO_WARNINGS -platform win32-msvc2008 -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg
MSVC2010の場合:configure.exe -debug-and-release -D _CRT_SECURE_NO_WARNINGS -platform win32-msvc2010 -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg
手順 4.コンパイル
下記どちらかのコンパイルを実行してください.
マルチコアでQtをビルドする場合,あらかじめQtCreatorをインストールしておきます.
QtCreator binまでのパス\jom.exe -j 4
通常のコンパイルを行う場合(遅い)
nmake
※ マルチコアビルドは64bitコンパイル時に試します.
ほか
Qtのビルドはmsvc2008/2010どちらかで行います.
ビルド後,Qtを使う際にどちらのバージョンを使ってもいいのであれば,
どちらでもよいのですが...確かめたいところです.
どちらにしても,OpenCVのビルドが左右されることはないと思っていますが.
ないとは思いますが,左右されるとすれば,Qtの開発を行う際かな、と思います.
けれど,OpenCVのplatformはvc09/10で分かれていますが...
最終更新:2013年06月11日 17:40