不廢話,直接開幹!這裡我用的系統是win10,win7沒有試過,不保證可行.首先安裝好vs2017,Ruby,Perl,Python,這些網上都教程.很簡單的,這裡就略過,還有不會的看之前發的MinGW版的Qt編譯過程,參考一下下.
下載qt-everywhere-src-5.10.1的壓縮包,解壓後,在源碼路徑下面找到qtbasemkspecscommonmsvc-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
其實這一步就是把MD的編譯選項改成MT而已.另外,如果是用vs2017(vs2015也一樣)编译qt5.10.1,还有两个地方要修改(貌似新的qt5.12.1已经把这两个地方改过来了). 在源碼文件下找到:qtbasemkspecscommonmsvc-version.conf.見下圖:
改成:
還一個地方
改成:
修改好了以後就打開x64 Native Tools Command Prompt for VS 2017(如果一會執行起來有問題,就退回這一步以管理員身份打開),然後執行C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvars64.bat,這是vs編譯工具鏈的環境設置.如圖:
接下來,执行qt的configure配置。这里,不要编译qtwebengine,因为qtwebengine的代码有问题,会编译错误,也不要编译qtquick1,这个都已经被qt丢弃了.编译它还会报错.
cd F:qt-everywhere-opensource-src-5.10.1
新建一個用於編譯的文件夾並打開:
mkdir qt-build && cd qt-build
然後去配置Qt
..configure.bat -skip qtwebengine -skip qtquick1 -confirm-license -opensource -debug-and-release -nomake tests -nomake examples -prefix F:Qt5.10.1_x64
如圖:
完成之後,執行nmake,這裡就建議把nmake重定向文本去,因为cmd窗口保留的记录太短了,要是編譯有錯誤在文本文件裡面也可以看到.
nmake > nmake.out.txt 2>&1
這就一路等它編譯完成.然後執行nmake install
上一篇MinGW編譯64位Qt裡漏了把Qt的Doc也編譯安裝這裡補上,方法類似,只是nmake改成mingw32-name而已.
Qt的幫助文檔也簡單,就兩行命令
nmake docs
等它編譯完,執行:
nmake install_docs
這就全搞定了.