QtCreator + VC++2012コンパイラ
Qt5からVisual Studioのコンパイラを使う記事が意外と少ないので書いてみる。(その逆、Visual StudioからQtプログラムをコンパイルする方法はちらほら情報があるみたいだけど。)手っ取り早くQtを使ってみたい人にはQtのMinGW版をおすすめ(コンパイラ内蔵してるので、インストールしたら即使える)。ただ、VS版もそれほど手間じゃないので、ライブラリ関係等(後述)でVS版を求めてる人は、ぜひ使ってみて下さい。
追記:VS2012版でコンパイルすると Windows XP 対象外のアプリとなります。XPにも対応させるにはVS2010版を使って下さい。(後述)
使用したのは、下記2つ。
Qt 5.2.1 - Windows 32-bit (VS 2012, 541 MB)
Visual Studio Express 2012 for Windows Desktop
インストール手順
たったの2ステップ。
1)Qtインストール
2)VS2012インストール
まず、Qtのダウンロードは下記いずれかのサイトから。(たぶんどっちも同じもの)
▼Qtダウンロード|日本Qtユーザー会
http://qt-users.jp/download.html
▼Qt Download|Qt Project (本家から落としたい人はここ)
http://qt-project.org/downloads
ダウンロードしたら成り行きでインストールすればOK。環境変数の設定なども不要。次にVS2012 Express。
▼Microsoft Visual Studio Express 2012 for Windows Desktop
http://www.microsoft.com/ja-jp/download/details.aspx?id=34673
これはWebインストーラーなので少々時間かかるけど、これも成り行きでインストールすればOK。環境変数なんかも自動で設定してくれる。(ただ、やたらめったら色んなものがインストールされるのでディスクの空き容量に注意)
以上です。
補足
- ソース内に日本語などが含まれると、ビルド時に構文エラーとなることがあります。特に、MinGW版からVS版に移行した場合などです。対策としては、ソースをいったんサクラエディタ等で開き、エンコードを BOM付き のUTF-8で保存して下さい。また、新規ファイルもBOM付きで保存されるよう、QtCreatorの設定を変更しておく必要があります。(下記参照)
Qtと文字コードについては下記のページが大変詳しいです
▼Qt とソースファイルの文字コード|Qt のあれこれ (仮)
http://qt-labs.jp/2013/08/qt-and-source-and-codecs.html
Visual Stuido で UTF-8 なソースファイルをビルドするには BOM がファイルの先頭に埋め込まれている必要があります。Qt Creator でソースファイルを作成した場合、デフォルトではその文字コードは UTF-8 になっていますが、BOM は付きません。この動作はオプションで変更できます。
「ツール」→「オプション」でオプションダイアログを表示し、「テキストエディタ」→「動作」タブの「ファイルの文字コード」のところを変更してください。「UTF-8 BOM」で BOM を UTF-8 のファイルでは常に追加するような設定が可能です。
- QtはずっとMinGW版を使ってたのですが、今回初めてVS版を使おうと思ったのは、画像を扱うOpenCVライブラリとの相性問題が起きたためです。どちらもMinGW版の場合は共通の libstdc++-6.dll が必要なのですが、おそらくMinGWのバージョンがちがうのか、「Qt+OpenCV」アプリのビルドは通るけど起動はしなかった…。あと、最近のOpenCVライブラリにはMinGWビルド版が同梱されなくなった。OpenCVをQtコンパイラでビルドしなおす手も考えたけど、成功するかどうか未知数なので、以前から少し気になってたQtのVS版を試してみた、、、というわけです。
- VS2012でコンパイルされたアプリはもともとXP対象外のようです。VS2012 update をインストールし、コンパイラ設定をXP仕様にすることで対応は可能なようですが、QtCreatorでの正しい設定方法は依然不明です…。もし分かる方いらっしゃればご教示お願いします。XPにも対応させたい場合は、Qt5 VS2010版を利用するのが早いかと思います。以下、参考URL。
▼Visualstudio2012で作成したプログラムをXPで実行
http://social.msdn.microsoft.com/Forums/vstudio/ja-JP/e0ebde43-fb4f-42cc-b00b-bf4d4f8ec712/visualstudio2012xp
▼VS2012 nmake using v110_xp toolset?
http://stackoverflow.com/questions/15928293/vs2012-nmake-using-v110-xp-toolset
Qt関連の投稿
▼[2019年版] Qtでパソコンソフトを作ろう(MinGW使用/VisualStudio不要)【その1:インストール編】
https://qiita.com/yasumodev/items/399ec89b7205e3c0bab1