Qt 5.0.2で静的リンク可能なQtをビルドする




 Qt5.0.2がリリースされた。以下からダウンロードできる。
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を編集するとか。編集してメイクしたらエラーでこけてしまった。)

関連記事

Leave a Reply

アーカイブ