Windows10上でC++からQtを使えるようにする。
■環境
- PC : Windows 10, 64bit, Visual Studio 2017
■前提条件
以下がインストールされていること
- Git
- Python2.7
- Perl
参考:Windows 10にPerlを導入
https://qiita.com/tomtum/items/ce10b30c82f0ae67d984
- make
参考:GnuWin32でインストールできます
http://gnuwin32.sourceforge.net/packages/make.htm
■手順
1.Qtのソースコードをダウンロード
$ git clone git://code.qt.io/qt/qt5.git
2.最新のLTSのリリースバージョンでcheckout(2020/01/06時点)
$ cd qt5
$ git checkout v5.12.6
※追記※ご指摘頂いたのですが、現在のソースコードの最新バージョンはv5.14.0だったようです。LTSはv5.12.6ですが、各自お求めのversionでcheckoutして下さい。version情報は下記リンクに記載されています。
【Branches - Qt Wiki】
https://wiki.qt.io/Branches
3.必要なサブモジュールを入手
公式の手順通りにサブモジュールを全部取得してしまうと物凄い量になり、ビルド時にかなりのリソースを必要とする。なので今回はQt QuickとQt Multimediaのみ入手する。
$ perl init-repository --module-subset=qtbase,qtdeclarative,qtmultimedia
4.Visual Studio 2017のx64用コマンドプロンプトを起動
スタートメニューにある「VS 2017 用 x64 Native Tools コマンド プロンプト」を実行する。
※本体はC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat
です。
5.ビルド用ディレクトリを作成
公式によるとqt5
ディレクトリと同じ階層に、ビルド用のディレクトリを作成した方が良いらしい。例えば、マイドキュメント直下にqt5をダウンロードした場合、ビルド用ディレクトリqt5_build
もマイドキュメント直下に作成する。
$ cd c:\Users\<ユーザー名>\Documents
$ mkdir qt5_build
$ cd qt5_build
6.ビルドの設定
Windowsのコマンドプロンプトだと../
を認識しないので、qt5\configure
までのパスを絶対パスで表記する。
$ c:\Users\<ユーザー名>\Documents\qt5\configure -developer-build -opensource -nomake examples -nomake tests
7.ビルド
$ nmake
8.動作チェック
Visual Studio2017を起動し、空のC++プロジェクトを作成
プロジェクトのプロパティにQtのライブラリパスを追加
・「C/C++ > 全般 > 追加のインクルードディレクトリ」にC:\Users\<ユーザー名>\Documents\qt5_build\qtbase\include
を追加
・「リンカー > 全般 > 追加のライブラリディレクトリ」にC:\Users\<ユーザー名>\Documents\qt5_build\qtbase\lib
を追加
・「リンカー > 入力 > 追加の依存ファイル」に、C:\Users\<ユーザー名>\Documents\qt5_build\qtbase\lib
にある必要なライブラリ名を追加
※末尾が*d.lib
になっているのはDebug用のライブラリです
dllファイルを実行ファイルと同じディレクトリに配置
自分の場合はC:\Users\<ユーザー名>\Documents\Visual Studio 2017\Projects\Project1\x64\Release
に配置
サンプルプログラムの作成
#include "QtWidgets/QApplication"
#include "QtWidgets/QPushButton"
int main(int argc, char**argv) {
QApplication app(argc, argv);
QPushButton button("Hello world!");
button.show();
return app.exec();
}
■参考リンク
1.Building Qt 5 from Git - Getting_the_source_code
https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_source_code
2.Qt のソースコードを取得してビルドをする方法について
https://qiita.com/task_jp/items/f0753c52c86a26928465