之前尝试编译Qt的5.x的,你可能需要安装一些库(取决于你要编译的模块):需要(**
- 的activeperl,因为它是用来配置QTSDK)
- 的Microsoft Windows SDK 7.1
- 微软的DirectX SDK
- 的Python
- ICU
- ...
如果你打算使用一个库(如Assimp例如)在内部使用相同的库(如zlib的),你可能要覆盖这些图书馆,坐落在qtbase的\ src \的3rdParty子目录和他们的最新版本。
编辑文件configure.bat,地处qtbase目录,并注释掉行45:
::if not exist %QTSRC%\.gitignore goto sconf
编辑文件QMAKE。CONF,位于qtbase \ mkspecs \ Win32的msvc2010(如果你使用Visual Studio 2010),或在qtbase \ mkspecs \ Win32的msvc2012(如果你使用Visual Studio 2012):
- 线9:
CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target
- 线23:
QMAKE_CFLAGS_RELEASE = -O2 -MT
- 线24:
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
- 线25:
QMAKE_CFLAGS_DEBUG = -Zi -MTd
启动Visual Studio命令提示符:开始>程序> Microsoft Visual Studio 20XX > Visual Studio工具。
确保到Perl.exe的路径位于PATH环境变量中:PATH=%PATH%;C:\Perl\bin
(或PATH=%PATH%;C:\Perl64\bin
如果编译为x64)。
进入qtbase目录:CD \Qt\5.0.1\qtbase
。
配置的Qt编译静态调试和发布版本:
configure -developer-build -opensource -confirm-license -platform win32-msvc2010 -mp -nomake examples -nomake tests -static
(如果你使用Visual Studio 2010)
configure -developer-build -opensource -confirm-license -platform win32-msvc2012 -mp -nomake examples -nomake tests -static
(如果你使用Visual Studio 2012)
例子和测试能稍后编译,如果你需要它们的话。
如果您打算使用
OpenGL,请将
-opengl desktop
添加到命令行,否则Qt将默认使用面向移动设备的OpenGL/ES。
如果您的CPU不支持多核,请删除
-mp
选件。
回到父目录:CD ..
。
配置再次Qt的:configure -developer-build -opensource -confirm-license -platform win32-msvc20
XX -opengl desktop -mp -nomake examples -nomake tests -static
(我不知道需要这一步,但因为它需要短短的几秒钟......)。编号:nmake
。
编译的另一种方法是使用jom并指定要使用的CPU内核数:C:\Qt\jom\jom.exe -j #NUMBER_OF_CORES#
。
你会发现在qtbase \ lib文件夹编译静态库和文件的qtbase \子目录包含包括。
要使用它们,您必须在Visual C++项目中使用use static run-time libraries(/MT
或/MTd
)。