クロスプラットホーム開発で便利なQtですが、WindowsでSharedライブラリをリンクした場合は、開発マシン以外のQtのランタイムDLLが無い環境で実行する際に面倒です。一方、Staticライブラリをリンクした場合は、実行ファイルのサイズがかなり大きくなります。
QtのSDKを普通にWindowsにインストールすると、Sharedライブラリのみがインストールされるため、必要に応じてStaticライブラリとSharedライブラリを切り替えるためには、自身でソースコードからStaticライブラリをビルドする必要があります。
前提とする環境
- Windows 7 64bit
- Visual Studio 2010
- Perl環境が必要なので、ActivePerlをダウンロードして、インストールしておく。http://www.activestate.com/activeperl/downloads
Qt SDKのダウンロード
http://qt.nokia.com/downloads-jp からダウンロード
- Qt 4.8.0 for Windows(VS 2010, 275 MB)
- Qt Creator 2.4.0 for Windows (53 MB)
ftp://ftp.qt.nokia.com/vsaddin/ からダウンロード
- qt-vs-addin-1.1.10.exe
インストール先
- C:LangQt4.8.0st Staticライブラリ
- C:LangQt4.8.0 Sharedライブラリ
Staticライブラリのインストール
(1) qt-win-opensource-4.8.0-vs2010.exe を起動してウィザードに従ってインストール。 (インストール先は C:LangQt4.8.0st)
(2) 下記のようなqt.batファイルを作り、コマンドプロンプトから実行する。
SETLOCAL CALL "C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat" x86 ECHO ON SET QTBASEDIR=C:LangQt4.8.0st SET QTDIR=%QTBASEDIR% SET PATH=%QTDIR%bin;%PATH% SET PATH=%SystemRoot%System32;%PATH% SET QMAKESPEC=win32-msvc2010 %comspec% ENDLOCAL
(3) C:LangQt4.8.0mkspecswin32-msvc2010qmake.conf を編集し、下記のように変更する。
(4) コマンドプロンプトで C:LangQt4.8.0st へ移動し、下記を実行する。
(5) configure 実行後に下記のように入力。その後しばらく待つ。
(6) Staticライブラリを下記のコマンドでビルドする(かなり時間がかかる)。 単にnmakeだと、ツールまでstaticライブラリを使って再構築しようとするので、オプションを付ける。
(7) 不要なファイルを削除する。
(8) 削除しきれなかった不要なファイル(下記)についても、当日に作成されたものを検索して削除する。
- Makefile*
- *.vcxproj
- *.vcxproj.*
- *.sln
- tmp
Sharedライブラリのインストール
qt-win-opensource-4.8.0-vs2010.exe を起動してウィザードに従ってインストール。 (インストール先は C:LangQt4.8.0)
Visual Studio 2010でのライブラリの切りかえ
- メニューから[Qt]-[Qt Option]にて、4.8.0stと4.8.0を追加。
- メニューから[Qt]-[Qt Project Setting]にて、4.8.0stか4.8.0を選択。
- メニューから[プロジェクト]-[…のプロパティ]において、C/C++のコード生成時のランタイムライブラリをMT(static) か MD(shared)に設定
Qt Creatorの設定
- VS2010じゃなくてQt Creatorを使いたい場合は、qt-creator-win-opensource-2.4.0.exeをインストール。その際、mingwは入れなくてもOK。
- インストール後、[ツール]-[オプション]の、[ビルドして実行]で「追加」ボタンをクリックし、 C:LangQt4.8.0binqmake.exe を追加。
最近の投稿
アーカイブ
- 2024年11月
- 2024年9月
- 2024年7月
- 2024年5月
- 2024年3月
- 2024年1月
- 2023年11月
- 2023年10月
- 2023年6月
- 2023年4月
- 2023年2月
- 2023年1月
- 2022年11月
- 2022年9月
- 2022年8月
- 2022年7月
- 2022年3月
- 2022年2月
- 2021年12月
- 2021年11月
- 2021年10月
- 2021年9月
- 2021年4月
- 2020年11月
- 2020年4月
- 2019年12月
- 2019年11月
- 2019年10月
- 2019年9月
- 2019年8月
- 2019年6月
- 2019年5月
- 2019年4月
- 2019年1月
- 2018年12月
- 2018年11月
- 2018年9月
- 2018年8月
- 2018年7月
- 2018年5月
- 2018年3月
- 2018年2月
- 2018年1月
- 2017年12月
- 2017年11月
- 2017年10月
- 2017年9月
- 2017年8月
- 2017年7月
- 2017年5月
- 2017年3月
- 2017年2月
- 2016年11月
- 2016年10月
- 2016年9月
- 2016年8月
- 2016年7月
- 2016年6月
- 2016年3月
- 2015年12月
- 2015年11月
- 2015年9月
- 2015年7月
- 2015年6月
- 2015年5月
- 2015年3月
- 2015年2月
- 2014年12月
- 2014年11月
- 2014年9月
- 2014年8月
- 2014年7月
- 2014年5月
- 2014年3月
- 2014年1月
- 2013年12月
- 2013年8月
- 2013年6月
- 2013年5月
- 2013年3月
- 2012年6月
- 2012年3月
- 2012年2月
- 2012年1月
- 2009年4月