凡式原創(chuàng)宠能,轉(zhuǎn)載請注明
- 2018-03-05
準備:
1、源代碼&編譯器
- qt-everywhere-src-5.10.1.tar.xz 5.10.1
- Visual Studio Enterprise 2017 15.5.6
2、編譯環(huán)境(add to path)
編譯:
1龟再、mkspecs
將Qt源代碼路徑下面 qtbase\mkspecs\common\msvc-desktop.conf 的以下幾行:
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
修改為:
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MTd
2呀洲、configure
開始 -> Visual Studio 2017 -> x86 Native Tools Command Prompt for VS 2017 或者 x64 Native Tools Command Prompt for VS 2017
cd /d D:\src\qt-everywhere-src-5.10.1
mkdir build
cd /d build
D:\src\qt-everywhere-src-5.10.1\build > D:\src\qt-everywhere-src-5.10.1\configure.bat -h
D:\src\qt-everywhere-src-5.10.1\build > configure.bat -confirm-license -opensource -release -static -force-asserts -platform win32-msvc -prefix C:\Qt\Qt5.10.1-vs2017-static -static-runtime -mp -silent -opengl desktop -qt-sqlite -qt-pcre -qt-zlib -qt-freetype -qt-harfbuzz -qt-libpng -qt-libjpeg -nomake examples -nomake tests
具體配置詳情如下:
-confirm-license -opensource
-release 版本
-static 靜態(tài)
-force-asserts
-platform win32-msvc 版本
-static-runtime
-mp 多線程編譯
-silent 不顯示編譯時多余的大量信息
-opengl desktop 選擇desktop而不是dynamic,避免qcustomplot無法使用opengl
-qt-sqlite 三個選項[system/qt/no]選擇源碼自帶
-qt-pcre 三個選項[system/qt/no]選擇源碼自帶
-qt-zlib 三個選項[system/qt/no]選擇源碼自帶
-qt-freetype 三個選項[system/qt/no]選擇源碼自帶
-qt-harfbuzz 三個選項[system/qt/no]選擇源碼自帶
-qt-libpng 三個選項[system/qt/no]選擇源碼自帶
-qt-libjpeg 三個選項[system/qt/no]選擇源碼自帶
-nomake examples 不編譯例子
-nomake tests 不編譯測試
3啡捶、nmake & nmake install
nmake
nmake install
3姥敛、jom
( 優(yōu)化并行編譯的工具替代nmake;nmake在configure時也可以指定-mp參數(shù)進行多線程編譯 )
jom -j8
jom install
4瞎暑、qt.conf
[問題]:添加靜態(tài)編譯的Qt版本彤敛,工具->選項->構(gòu)建和運行->Qt Versions->添加->,此時出現(xiàn)錯誤
[錯誤]:qt沒有被正確的安裝,請運行make install
[解決辦法]:在qmake.exe同一文件夾下了赌,創(chuàng)建一個qt.conf文件(必須為ANSI格式)
[paths]
Prefix = ..