カンテラの光の下で

dNaga392's memorandom

【Qt】Qt 5.11.2 を MinGW 64 bit 向けにビルドした

Qt は Qt Online Installer により複数の環境に対応したライブラリがインストールできます。しかし、Windows 向け g++ が利用できる MinGW の 64bit 環境に対応するものはなく、該当の環境での開発を望む場合、開発者自身の手でQtのソースからビルドする必要があります(少なくとも本記事の執筆時点には存在しませんでした)。

本記事では、前述のようなケースにある開発者を対象に、 Qt5.11.2 を MinGW 7.3.0 64 bit 対応の開発環境の構築手順を示します。

開発環境構築

構築手順は次のとおりです:

  1. Qt のソースを準備する
  2. ビルドのためのツールをインストールする
  3. Qt をビルドする
  4. Qt 開発環境を整える

1. Qt のソースを準備する

Qt Online Installer を利用して Qt をインストールします。 Qt Online Installer は次のダウンロードページから取得できます:

今回は Open Source 版を選択して、 Online Installer をダウンロードします。

参考:Online Installer のバージョンによる差は小さいと思いますが、本記事では qt-unified-windows-x86-3.0.5-online.exe を使用しています。

Qt Online Installer を実行します。 本記事では、次のようにインストールしました。

  • Open Source 版を利用するため、 Qt Account は Skip しました。
  • インストール先フォルダは、既定の C:\Qt としました。
  • インストール項目の選択は次のとおりです:
    • Qt
      • Qt 5.11.2
        • [x] MinGW 5.3.0 32 bit
        • [x] Sources
      • Tools
        • Qt Creater 4.7.1
        • [x] MinGW 5.3.0 32 bit
        • [x] MinGW 7.3.0 64 bit
  • ライセンス条項は同意しました。
  • スタートメニューは、既定の Qt としました。

参考:本記事では比較のため、 Qt/MinGW 5.3.0 32 bit および Tools/MinGW 5.3.0 32 bit を選択しています。必要がなければ、これらは未選択でも影響はありません。

2. ビルドのためのツールをインストールする

Qt のソースを準備できたら、ビルドのためのツールをインストールします。 ビルドの必要要件は次のとおりです:

ツール バージョン
MinGW gcc 4.9 以降
Perl 5.12 以降
Python 2.7 以降
Ruby 1.9.3 以降

参考:ビルドの必要要件は Qt/5.11.2/Src/README に記載があります。

MinGW は Online Installer によりインストールされているので、 Perl, Python, Ruby のインストール方法を示します。

Perl をインストールする

Perl は次のダウンロードページからインストーラーが取得できます:

取得したインストーラーを実行してインストールします。

参考: ダウンロードページは Qt/5.11.2/Src/README に記載があったものです。 本記事作成時は、ダウンロードページに次の2バージョンありました。

  • 5.24.3.2404
  • 5.26.1.2601

本記事では最新の 5.26.1 をインストールしました。

Python をインストールする

Python は次のダウンロードページから取得できます:

取得したインストーラーを実行してインストールします。

参考: ダウンロードページは Qt/5.11.2/Src/README に記載があったものです。

本記事作成時、ダウンロードページには次の3バージョンありました。

  • 3.5.4.3504
  • 2.7.14.2717
  • 3.6.0.3600

本記事では 2.7.4 をインストールしました。

注意: ビルドでは Python 2.x 系が要求されます。

Ruby をインストールする

Ruby は次のダウンロードページからインストーラーが取得できます:

取得したインストーラーを実行してインストールします。

参考: ダウンロードページは Qt/5.11.2/Src/README に記載があったものです。 本記事では 2.4.4-2(x64) without devkit をインストールしました。

3. Qt をビルドする

いよいよ Qt5.11.2 を MinGW 7.3.0 64 bit 向けにビルドします。

管理者権限でコマンドプロンプトを立ち上げ、Qt 5.11.2 のフォルダに移動します。

>cd C:\Qt\5.11.2

続けて、次の2つのフォルダを作成します:

  • インストール用のフォルダ mingw73_64
  • ビルド用のフォルダ mingw73_64_build
>mkdir mingw73_64
>mkdir mingw73_64_build

作成したビルド用のフォルダ mingw73_64_build に移動して、ビルド用のツールのPATHを通します。

>cd mingw73_64_build
>set PATH=C:\Qt\Tools\mingw730_64\bin;C:\Qt\Tools\QtCreator\bin;%PATH%

上のコマンドは、各ビルド用ツール(PerlPythonRuby)のインストーラーでPATHを通してある状態のものです。 PATHを通さなかった場合は次のコマンドで PATH を通します:

>set PATH=C:\Qt\Tools\mingw730_64\bin;C:\Qt\Tools\QtCreator\bin;C:\Ruby24-x64\bin;C:\Python27\;C:\Python27\Scripts\;C:\Perl64\site\bin;C:\Perl64\bin;%PATH%

echo %PATH% を実行し、PATHが通っていることを確認します。

>echo %PATH%
C:\Qt\Tools\mingw730_64\bin;C:\Qt\Tools\QtCreator\bin;C:\Python27\;C:\Python27\Scripts\;C:\Perl64\site\bin;C:\Perl64\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Ruby24-x64\bin;C:\Users\dev\AppData\Local\Microsoft\WindowsApps

問題がなければ、configure を実行し、ビルド設定をします(時間がかかることがあります)。

>..\Src\configure -developer-build -opensource -confirm-license -opengl desktop -nomake examples -nomake tests -prefix C:\Qt\5.11.2\mingw73_64

コマンドの意味は次のとおりです。

コマンドとオプション 説明 コメント
..\Src\configure Src ディレクトリにある configure 本体。
-developer-build Qtをコンパイルしてリンクする。
-opensource OpenSource版でビルドする。
-confirm-license ライセンス条項に同意する(確認画面を表示しない)。
-opengl desktop デスクトップ OpenGL を使用する。 未指定だと QtGui でエラーが発生し、ビルド全体が失敗するため
-nomake examples 各モジュールの examples を作成しない。 ビルド時間短縮のため
-nomake tests 各モジュールの tests を作成しない。 qtwebglplugin のテストパートでエラーが発生し、ビルド全体が失敗するため
-prefix C:\Qt\5.11.2\mingw73_64 C:\Qt\5.11.2\mingw73_64 をインストール先とする。

その他のオプションは configure -h で確認できます。

mingw32-make を実行し、ビルドします(とても時間がかかることがあります)。

>mingw32-make

mingw32-make install を実行し、インストールします(時間がかかることがあります)。

>mingw32-make install

C:\Qt\5.11.2\mingw73_64 にインストールされていることを確認します。

以上でビルド&インストールが終了です。

4. Qt 開発環境を整える

Qt開発を始めるには、次の2つのPATHを通す必要があります。

  • C:\Qt\5.11.2\mingw73_64\bin
  • C:\Qt\Tools\mingw730_64\bin

インストーラーからインストールした場合はスタートメニューが作成されますが、 ビルド&インストールの場合は作成されません。

そのため、 MinGW 5.3.0 32 bit 版を参考に同様の開発用ショートカットを作成します。

MinGW 5.3.0 32 bit 版ショートカットは、リンク先が次のようになっています:

C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\5.11.2\mingw53_32\bin\qtenv2.bat

qtenv2.bat は 64 bit 版に存在しないため、これを C:\Qt\5.11.2\mingw73_64\bin に作成します。

作成する qtenv2.bat の内容は次のとおりです:

@echo off
echo Setting up environment for Qt usage...
set PATH=C:\Qt\5.11.2\mingw73_64\bin;C:\Qt\Tools\mingw730_64\bin;%PATH%
cd /D C:\Qt\5.11.2\mingw73_64

参考: 本質的な部分は3行目のみです。3行目以外はインストール版と同様の挙動にするためのコマンドです。

スタートメニューに次のリンク先でショートカットを作成します:

C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\5.11.2\mingw73_64\bin\qtenv2.bat

以上で、開発用ショートカットの作成は終了です。