天天看點

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

不廢話,直接開幹!這裡我用的系統是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.見下圖:

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

改成:

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

還一個地方

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

改成:

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

修改好了以後就打開x64 Native Tools Command Prompt for VS 2017(如果一會執行起來有問題,就退回這一步以管理員身份打開),然後執行C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuildvcvars64.bat,這是vs編譯工具鏈的環境設置.如圖:

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

接下來,執行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

如圖:

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

完成之後,執行nmake,這裡就建議把nmake重定向文本去,因為cmd視窗保留的記錄太短了,要是編譯有錯誤在文本檔案裡面也可以看到.

nmake > nmake.out.txt 2>&1

qt5 源碼編譯 64位_編譯Qt5.10.1-x64-msvc的過程(VS2015/VS2017)

這就一路等它編譯完成.然後執行nmake install

上一篇MinGW編譯64位Qt裡漏了把Qt的Doc也編譯安裝這裡補上,方法類似,隻是nmake改成mingw32-name而已.

Qt的幫助文檔也簡單,就兩行指令

nmake docs

等它編譯完,執行:

nmake install_docs

這就全搞定了.