使用msvc2015編譯qt4.8.7和4.8.6方法一樣。
1. 首先下載對應的qt源碼。
2. 解壓到某個目錄, 這里我選擇(D:\Qt\Qt4.8.7)
3. 給qt源碼打補丁, 網上下載 02-fix_build_with_msvc2015-45e8f4ee.diff ,路徑
https://forum.qt.io/topic/56453/compiling-qt4-head-with-msvc-2015-cstdint-errors/9
該論壇中有該補丁可以下載。下載后將補丁拷貝到源碼目錄。
4. 使用python 打補丁的腳本給qt源碼打補丁
pip install patch
python -m patch
在python的安裝目錄:C:\Program Files\Python38\Lib\site-packages中,找到python.py文件,拷貝到qt源碼目錄。
執行 patch.py 02-fix_build_with_msvc2015-45e8f4ee.diff 給源碼打補丁。
5. 在qt的源碼中,進入mkspecs目錄中查看是否有win32-msvc2015目錄,沒有則創建win32-msvc2015目錄,將win32-msvc2013目錄中的文件拷貝到win32-msvc2015目錄中,
編寫qmake.conf文檔。 設置 _MSC_VER=1900
#
# qmake configuration for win32-msvc2015
#
# Written for Microsoft Visual C++ 2015
#
MAKEFILE_GENERATOR = MSBUILD
TEMPLATE = app
CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe
QT += core gui
DEFINES += UNICODE WIN32
QMAKE_COMPILER_DEFINES += _MSC_VER=1900 WIN32
6.編輯makefile.win32文件(在源碼的qmake目錄中),添加QMAKESPEC。 在所有 "$(QMAKESPEC)" == "win32-msvc2013"的后面,添加 "$(QMAKESPEC)" == "win32-msvc2015"選項。
7. 在開始菜單中,打開Visual Studio 2015 command prompt,進入終端,進入qt源碼目錄。
8. 配置qt, D:\Qt\Qt4.8.7\msvc2015目錄是我在D:\Qt\Qt4.8.7下創建的目錄。按照下面的配置編譯也行,不過沒有編譯出qwebkit.
configure -make nmake -platform win32-msvc2015 -prefix D:\Qt\Qt4.8.7\msvc2015 -opensource -confirm-license -opengl desktop -nomake examples -nomake tests -mp -debug-and-release
9. 執行nmake開始編譯
10.編譯完成后執行nmake install,相關庫以及其他文件將會拷貝到D:\Qt\Qt4.8.7\msvc2015目錄中。