1.在計算機上安裝python庫和perl庫(因為后續的靜態編譯需要用到這兩種語言),可以在命令行敲擊“python”和“perl -v”檢查是否安裝成功。
2.修改msvc-desktop.conf 文件(D:\ProgramFiles\Qt\Qt5.10.1\5.10.1\Src\qtbase\mkspecs\common\msvc-desktop.conf)。
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD
QMAKE_CFLAGS_DEBUG = -Zi -MDd
改為
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
QMAKE_CFLAGS_DEBUG = -Zi -MTd
即將MD改成MT,MDd改成MTd,動態改成靜態。
3.打開VS2017的“適用於 VS 2017 的 x64 本機工具命令提示”,我用的是x64版本的,切換到Qt源代碼目錄 cd D:\ProgramFiles\Qt\Qt5.10.1\5.10.1\Src。
輸入編譯命令:
configure.bat -confirm-license -opensource -platform win32-msvc -debug-and-release -static -prefix "D:\ProgramFiles\Qt\Qt5.10.1\5.10.1\msvc2017_64_static" -qt-sqlite
-qt-zlib -qt-libjpeg -qt-libpng -qt-xcb -qt-xkbcommon -qt-freetype -qt-pcre -qt-harfbuzz -opengl desktop -no-angle -nomake tests -nomake examples -skip qt3d
命令解釋:
-confirm-license -opensource是使用開源協議。
-debug-and-release是同時編譯debug版和release版
-force-debug-info是即使在release模式下也有調試符號
-static是編譯靜態庫
-prefix是最后的安裝路徑,編譯生成文件保存的路徑。
-qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype這些的意思是使用Qt源碼中自帶的這些第三方庫
-nomake examples -nomake tests就是字面意思,不編譯example和tests
4.完成后輸入 nmake 回車。
5.完成后輸入nmake install回車。