既存のVisual StudioプロジェクトをQt用に変換する方法:オマージュ
前書き
この記事は、次のページを尋常じゃなく参考にしている。
参考というより、実行環境が違うだけだ。
同時に、先日の私の記事の解決編でもある。
環境
- Windows10
- Visual Studio 2015 Community
- Qt 5.6.0
- Add-in 2.0.0 for Qt5
アドインなどが正しくインストールされている前提。
VC++コード
例えば、次のようなコードを書いたとする。
本当は宣言と実装は分けるべきだが... ここでは許してもらおう。
このヘッダをどこかにインクルードすると、エラーが発生するはずだ。
(発生しない場合は、このページに辿り着かないと思う。)
解決策
ちょっと長い。
1. テキストエディタで『プロジェクト名.vcxproj』を編集。
赤線を引かれた要素を追加する。
バージョンによって多少キーワードは異なると思う。
ウィザードで作成したQtプロジェクトの同要素を確認すると確実だ。
2. プロジェクトを64bit版にしておく。
プルダウンリストからx64を選んでおく。
この設定をしていないと、ビルド時に次のようなエラーが出ることがある。
The following error occurred:
There's no Qt version assigned to this project for platform Win32. Please use the 'change Qt version' feature and choose a valid Qt version for this platform.
Qtのバージョンを変えるのもありっちゃあり。
3. Visual StudioでプロジェクトをQt用に変換。
メニューバーから、『Convert Project to Qt VS Tools Project』を選択。
警告が出るが、『はい』を選択すると、プロジェクトが変換される。
左方のリストでソリューションを選択していると表示されない。注意。
4. 必要なモジュールを追加。
メニューバーから、『Qt Project Settings』を選択。
『Qt Modules』タブから、必要なモジュールにチェックを入れる。
『Core』,『GUI』,『Widgets』があれば大体の簡単なアプリケーションは動く。
必要なモジュールを調べるには、リファレンスを参照のこと。
5. 完了!と思いきや
私の環境では、この状態でビルドするとエラーが多発する。
『追加のインクルードディレクトリ』『追加のライブラリディレクトリ』
この二つを、手動で書き直してやる必要があった。
6. それでもうまくいかないときは
MOCが適用されていない恐れがある。
ヘッダファイルを適当に編集したのちにリビルドすると上手くいくかもしれない。
それこそ、空白を入れて消すだけの編集でも構わない。