之前嘗試編譯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
)。