Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

时间:2022-09-19 23:03:35

尽管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应用的开发人员编译和配置相应的环境。

今天我就把自己摸索出来的方法分享出来,希望对大家有所启发。

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源码包,加压源码包到磁盘。

2.        由于编译QtWekbit需要ICU andANGLE 库,ICU库需要单独下载和编译,从http://download.icu-project.org/files/icu4c/56.1/icu4c-56_1-src.zip下载ICU4Cversion 56.1并解压到磁盘,目录位置参见随后说明。

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

Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

4.        在编译QT5.5.1之前还需要安装配置一下的工具和环境:

ActivePython 2.7 or later

Perl

Ruby

cygwin

我安装使用的是Python 3.5, strawberry-perl-5.22.0.1-64bit.msi (64 bit) , rubyinstaller-2.2.3-x64.exe(x64)和cygwin64,其中cygwin安装配置选择以下的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

 

Archive
    unzip
    xz
    zip
Devel
    autoconf
    automake
    binutils
    cmake
    cvs
    cygwin64-libiconv
    gcc-core
    gcc-g++ (3.4.4-3)
    gdb
    gettext-devel
    git
    git-completion
    libtool
    make
    mingw-binutils
    mingw-gcc-core
    mingw-gcc-g++
    mingw-pthreads
    mingw-runtime
    mingw-w32api
    mingw64-i686-binutils
    mingw64-i686-gcc-core
    mingw64-i686-g++
    mingw64-i686-pkgconfig
    mingw64-i686-runtime
    mingw64-x86_64-binutils
    mingw64-x86_64-gcc-core
    mingw64-x86_64-g++
    mingw64-x86_64-pkg-config
    mingw64-x86_64-runtime
    nasm
    patch
    patchutils
    pkg-config
    subversion
Editor
    vim
Libs
    crypt
    expat
    libgcrypt-devel
    libgcrypt20

    Zlib
Net
    curl
    openssh
Text
    gettext
Utils
    cygutils-extra
    dos2unix
Web
    wget

检查确认在%PATH%环境变量中都有刚安装的这些工具的运行路径。

5.        经过上面的步骤可以开始进行编译ICU4C version 56.1和QT5.5.1的源码了,注意在编译前需要检查以下两点:

l  预留20G的磁盘空间用以存放编译生成的中间文件和目标文件,否则会出现编译错误

文件存放的路径结构如下面的图示,然后打开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,下载并安装。

 Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

7.        打开vs2015,菜单栏会多一项QT5,点击QT5下的qt option,把第5步生成的目标文件添加的环境变量加进去

Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

点击Add把qt的安装路径加进去我的是H:\Qt\Qt5.5.1\msvc2015_64, 之后在我的电脑上点击右键-》属性-》高级系统设置-》高级里的 环境变量添加环境变量PATH   -->    H:\Qt\Qt5.5.1\msvc2015_64\bin

Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

完成后就可以新建Qt的工程了

Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

文中使用的编译脚本参见下载地址:http://download.csdn.net/detail/liuyez123/9375424, 下载包中包含两个文件,使用时注意选对文件X64对应64位操作系统,x86对应32位操作系统,同时需要根据自己安装的软件路径修改脚本中的相关路径位置。