1. 前提条件
- https://github.com/therecipe/qt でGUIなアプリを作るための下準備をする。
- (Fast track版ではなく)Official版をインストールする。
1-1. PC環境
- Windows 10 Pro (バージョン1803)
- Intel Core i5-8250U @ 1.60GHz
- 8GBメモリ
- PowerShellを使っていますが、コマンドプロンプトでも同じ
- HTTP(S)のプロキシサーバーに接続する場合、環境変数 http_proxy, https_proxyを設定しておく。
2. Goのインストール
https://dl.google.com/go/go1.12.windows-amd64.msi
をダウンロード、インストール
- コントロールパネルの(システム)環境変数で、以下の設定を確認しておく。
変数 | 値 |
---|---|
GOPATH | C:\Users\your-name\go |
PATH | C:\Go\bin と C:\Users\your-name\go\bin を追加 |
GOCACHE | on |
GOROOT | C:\Go\ |
- Go 1.12 (Windows) では、 GOCACHE が on でないと何かとうまくいかないので注意。
- Go 1.13 (Windows) では、GOCACHE が C:\Users\your-name\AppData\Local\go-build などとしておく。
3. Qtのインストール
https://download.qt.io/archive/qt/5.12/5.12.0/qt-opensource-windows-x86-5.12.0.exe.mirrorlist
より、5.12.0 版のオフラインインストーラーを入手、インストール。コンポーネントの選択はは以下の通り。Qt ChartsからQt Scriptまではお好みで。(※1)
- Qtのバージョンは、 https://github.com/therecipe/qt/wiki/Installation のバージョンに合わせておくのが無難
※1: お好みでと書いておきながら、ビルド時にいちいちLoadModuleできないぞと怒られる(使っていなければ実害はないが)ので、容量に余裕があればQt Charts から Qt Scriptまでを入れておくのが吉のようだ。
4. therecipe/qt のインストールとテスト実行
コマンド プロンプトで、
set GO111MODULE=off
go get -v github.com/therecipe/qt/cmd/... && for /f %v in ('go env GOPATH') do %v\bin\qtsetup test && %v\bin\qtsetup -test=false
を実行。インストールしていないモジュールについては、
time="2019-03-06T18:24:47+09:00" level=error msg="failed to load C:\\Qt\\Qt5.12.0\\Docs\\Qt-5.12.0\\qtscript\\qtscript.index" error="open C:\\Qt\\Qt5.12.0\\Docs\\Qt-5.12.0\\qtscript\\qtscript.index: The system cannot find the path specified."time="2019-03-06T18:24:47+09:00" level=warning msg=parser.LoadModule error=EOF module=Script
のようなエラーが出るが、気にしない。
環境によりますが、私の環境だと40分ほど待ったのちに、
のような、7つのサンプルアプリのテストビルドが成功して完了する。ここまでくれば、とりあえず安心。
- Qt 5.13ではDeprecatedとなっているQt Scriptもインストールしておいかないと、テスト実行時にエラーとなる。うーむ…。
5. 最終確認
インストールがうまく行っている場合、以下のコマンドでビルドできる。
qtdeploy.exe build windows
その他
- Windows 10 (1903) / Go 1.13.4 / Qt 5.13 MinGW 版(スタンドアローンインストーラはこちら)の組み合わせでも確認。
- Qtをバージョンアップしたら、
C:\Qt\Qt5.13.0\Tools\mingw730_64
などにPATHを通しておかないとエラーになる。 - Go 1.12 にアップデートしたら、色々と動かなくなって焦ったので再インストールしてみた次第。ついでに、ハマリどころがあれこれあったのでメモ。
- コマンドがどこにあるか調べるのに、コマンドプロンプトでは
where
だが、 PowerShell だとGet-Command
(またはgcm
)なのでややこしい。 - インストールがはじまって、qt/sql のところで10分くらい待たされた。qt/purchasingも少し待つ。気長に待つべし。
-
qtdeploy
するときに、3 でインストールしなかったモジュールについてはエラーが出る。 - ビルドするときにはsysoファイルのアーキテクチャも揃えておかないといけない。Qtと同時インストールしたMinGWに含まれる
windres.exe
で生成できる。このツールはC:\Qt\Qt5.12.0\Tools\mingw730_64\bin
にあるのでパスを通しておくと良い。 使い方は、https://qiita.com/zetamatta/items/dd63a2ff4d01fdb6709a に詳しい。