Qt 5.0.2で静的リンク可能なQtをビルドする
http://qt-project.org/downloads
ここでは
Qt 5.0.2 for Windows 32-bit (MinGW)
をまずダウンロードして C:\Qt\Qt5.0.2
のような場所にインストールした。ライブラリを動的リンクする設定でビルドするといくつか必要なdllファイルを一緒に配布しなければならないので、必要なライブラリは静的にリンクしたいと思う。だが、デフォルトでは静的リンクが出来るようになっておらず、静的リンクを実現するにはQtそのものをソースファイルからビルドしなければならない。Qt5.0.1ではエラーが出てどうにもならなかったが、Qt5.0.2では修正されてビルドできるようになった。
そこでまず、上のURLにアクセスして qt-everywhere-opensource-src-5.0.2.zip
のような名前でアーカイブされているソースファイルをダウンロードし、例えば C:\Qt\qt_src_5.0.2
のような場所に解凍する。
そしてビルド用に C:\Qt\qt_static_5.0.2
のようなディレクトリを作成する。
1 2 3 4 5 | > cd C:\Qt\qt_static_5.0.2 > set QMAKESPEC=win32-g++ > set QTDIR= > set PATH=%PATH%;C:\Qt\Qt5.0.2\Tools\MinGW\bin; > ..\qt_src_5.0.2\configure.bat -release -opensource -nomake examples -static -opengl desktop |
ここで -nomake examples
オプションが無いとexamplesのビルド中にエラーでこけてしまった。
configure が正常終了したらメイクを行う。
1 | > mingw32-make |
これで2時間ほど放置して出来上がり。
ネットで検索すると、もっと古いバージョンでのビルドの方法が載っていたりするが、このバージョンでビルドするには全くと言っていいほど役に立たないので注意する。(例えばqmake.confを編集するとか。編集してメイクしたらエラーでこけてしまった。)