儘管QT5.5.1和VisualStudio 2015都已經發布好久了,可是QT項目組視乎不會爲QT5.5.1專門發佈預編譯的QT5.5.1 for windows(2015)版本的,也不會專門發佈Visual Studio 2015 Add-in for QT5.5.1的。並且官方也沒有明確的文檔指導在visualstudio 2015環境下開發QT5應用的開發人員編譯和配置相應的環境。python
今天我就把本身摸索出來的方法分享出來,但願對你們有所啓發。git
1. 首先,咱們到http://www.qt.io/download-open-source/#section-2網站下載http://download.qt.io/official_releases/qt/5.5/5.5.1/single/qt-everywhere-opensource-src-5.5.1.zip源碼包,加壓源碼包到磁盤。github
2. 因爲編譯QtWekbit須要ICU andANGLE 庫,ICU庫須要單獨下載和編譯,從http://download.icu-project.org/files/icu4c/56.1/icu4c-56_1-src.zip下載ICU4Cversion 56.1並解壓到磁盤,目錄位置參見隨後說明。web
3. 在Qt 5.5.1的源碼包中還存在一個BUG,若是直接編譯的話在編譯QT3D模塊的時候會報沒有找到Zlib.h的錯誤而中斷編譯,因此參照以下提示修改qt-everywhere-opensource-src-5.5.1\qt3d\src\3rdparty\assimp目錄下的assimp.pri文件。可參考地址https://codereview.qt-project.org/#/c/127252/3/src/3rdparty/assimp/assimp.pri。vim
4. 在編譯QT5.5.1以前還須要安裝配置一下的工具和環境:windows
l ActivePython 2.7 or laterapi
l Perlruby
l Rubybash
l cygwinssh
我安裝使用的是Python 3.5, strawberry-perl-5.22.0.1-64bit.msi (64 bit) , rubyinstaller-2.2.3-x64.exe(x64)和cygwin64,其中cygwin安裝配置選擇如下的內容:
1 |
Archive Zlib |
檢查確認在%PATH%環境變量中都有剛安裝的這些工具的運行路徑。
5. 通過上面的步驟能夠開始進行編譯ICU4C version 56.1和QT5.5.1的源碼了,注意在編譯前須要檢查如下兩點:
l 預留20G的磁盤空間用以存放編譯生成的中間文件和目標文件,不然會出現編譯錯誤
l
文件存放的路徑結構以下面的圖示,而後打開CMD命令窗口運行我提供的運行腳本,X64系統的運行build-x64.bat
,不然運行build-x86.bat.
├── build-x64.bat
├── build-x86.bat
├── icu
│ └── source
│ ├── ...
│ └── configure
└── qt-everywhere-opensource-src-5.5.1
├── ...
└── configure
以個人機器的x64版本的build-x64.bat文件爲例,具體內容以下:
REM Set up \Microsoft Visual Studio 2015
CALL "H:\Microsoft Visual Studio14.0\VC\vcvarsall.bat" amd64
ECHO ON
SET _CD=%CD%
SET _PATH=%PATH%
SET ICU_SOURCE=%_CD%\icu\source
SET ICU_DIST=%_CD%\icu\dist-64
SETQT_SOURCE=%_CD%\qt-everywhere-opensource-src-5.5.1
SET QT_BUILD=%_CD%\msvc2015_64
SET QT_DIST=H:\Qt\Qt5.5.1\msvc2015_64
REM Building ICU
RD /s /q %ICU_SOURCE%\lib
RD /s /q %ICU_SOURCE%\bin
RD /s /q %ICU_DIST%
SET PATH=%PATH%;C:\cygwin64\bin
CD /D %ICU_SOURCE%
dos2unix *
dos2unix -f configure
for /F %%P in ('cygpath -u %ICU_DIST%') dobash runConfigureICU Cygwin/MSVC -prefix=%%P
make clean
make && make install
CD /D %_CD%
SET PATH=%_PATH%
SET PATH=%PATH%;%ICU_DIST%\bin;%ICU_DIST%\lib
SET INCLUDE=%INCLUDE%;%ICU_DIST%\include
SET LIB=%LIB%;%ICU_DIST%\lib
REM Building Qt
SETPATH=F:\Strawberry\c\bin;F:\Strawberry\perl\site\bin;F:\Strawberry\perl\bin;%PATH%
CALL F:\Ruby22-x64\bin\setrbvars.bat
ECHO ON
SETPATH=%QT_SOURCE%\qtbase\bin;%QT_SOURCE%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using agit checkout of the source repository
REM SETPATH=%QT_SOURCE%\qtrepotools\bin;%PATH%
SET QMAKESPEC=win32-msvc2015
RD /s /q %QT_BUILD%
MKDIR %QT_BUILD%
CD /D %QT_BUILD%
CALL %QT_SOURCE%\configure -confirm-license-prefix %QT_DIST% -mp -debug-and-release -icu -nomake examples -nomake tests-skip qtwebkit-examples -opensource
ECHO ON
nmake && nmake install
CD /D %_CD%
COPY /V /Y %ICU_DIST%\lib\icudt56.dll%QT_DIST%\bin\
COPY /V /Y %ICU_DIST%\lib\icuin56.dll%QT_DIST%\bin\
COPY /V /Y %ICU_DIST%\lib\icuuc56.dll%QT_DIST%\bin\
6. 若是以上的配置都正確的話開機讓機器編譯幾個小時後就能夠在目標路徑下生成QT5.5.1的運行文件。若是要在vs2015集成環境中開發QT5.5.1應用須要在vs2015環境中安裝相應的插件並進行配置,因爲QT項目組沒有提供相應的插件,因此網上不多看到有相應的配置案例。還好微軟提供了一個插件叫作Qt5Package,他和原生的plugin提供類似的功能。an Extension (Tools> Extensions & Updates
) called Qt5Packagewhich has the same functionality. Qt5Package的下載地址爲:https://visualstudiogallery.msdn.microsoft.com/c89ff880-8509-47a4-a262-e4fa07168408,下載並安裝。
7. 打開vs2015,菜單欄會多一項QT5,點擊QT5下的qt option,把第5步生成的目標文件添加的環境變量加進去
點擊Add把qt的安裝路徑加進去個人是H:\Qt\Qt5.5.1\msvc2015_64, 以後在個人電腦上點擊右鍵-》屬性-》高級系統設置-》高級裏的 環境變量添加環境變量PATH --> H:\Qt\Qt5.5.1\msvc2015_64\bin
完成後就能夠新建Qt的工程了
文中使用的編譯腳本參見下載地址:http://download.csdn.net/detail/liuyez123/9375424, 下載包中包含兩個文件,使用時注意選對文件X64對應64位操做系統,x86對應32位操做系統,同時須要根據本身安裝的軟件路徑修改腳本中的相關路徑位置。
http://blog.csdn.net/liuyez123/article/details/50339865