Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管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。
4. 在编译QT5.5.1之前还需要安装配置一下的工具和环境:
l Perl
l Ruby
l cygwin
我安装使用的是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
Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)的更多相关文章
- Visual Studio 2015的安装和简单的单元测试
何为单元测试 绝大多数的软件都是由多人合作完成的,大家的工作相互有依赖关系.软件的很多错误都来源于程序员对模块功能的误解.疏忽或不了解其他模块的变化.如何能让自己负责的模块功能的定义尽量的明确,模块内 ...
- Visual Studio 2015的安装及单元测试练习
第一部分:Visual Studio 2015的安装 我电脑系统是win10,所以安装的是Visual Studio 2015,安装步骤部分截图如图所示: 1.安装类型选项界面:可以选择默认安装,可以 ...
- Visual Studio 2015的安装和简单的测试
首先是Visual Studio 2015的安装 Visual Studio是微软开发的一套基于组件的软件开发工具,目前最新的版本是2015. 在 I Tell you 网站下载Visual Stud ...
- 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试
这是第三周的第一个作业,Visual Studio 2015的安装及单元测试. 我的电脑之前安装过Visual Studio 2015,但是在安装过程中我从来没有留意过各种注意事项,所集正好借此作业的 ...
- Visual Studio 2015 编译错误 File 的值+乱码的解决方法
======================================== VS2015调试项目时,会报莫名奇妙的错误,如下图所示: 程序编译,提示有错误:Visual Studio 2015 ...
- 用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面!!!
开发工具:Visual Studio 2015 企业版 目 标 机:Windows 10 X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...
- 用Visual Studio 2015 编译张帆的第一个NT式驱动,并且成功安装到Windows XP里面!!!
开发工具:Visual Studio 2015 企业版 目 标 机:Windows XP X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...
- Visual Studio 2015的安装与基本使用
为什么要使用Visual Studio 2015? 它是中文的.界面友好.自动补全.实时语法错误提示(上图中波浪线部分).单步调试……最重要的社区版是免费的!所以你不必再使用破解的.老旧的的不兼容现代 ...
- 解决Visual C++ Redistributable for Visual Studio 2015的安装问题
1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows ...
随机推荐
- 关于LD_DEBUG (转载)
引用 LD_DEBUGThe dynamic library loader used in linux (part of glibc) has some neat tricks. One of the ...
- Delphi中三种方法获取Windows任务栏的高度
第一种:需要引用Windows单元 ShowMessage(IntToStr(GetSystemMetrics(SM_CYSCREEN)-GetSystemMetrics(SM_CYFULLSCREE ...
- Qt的目录依赖问题----怎样生成一个绿色的Qt软件包
Qt的目录依赖问题----怎样生成一个绿色的Qt软件包 一.核心问题: 如果将编译好的Qt文件拷贝到任何目录下,作为一个绿色软件库来使用? 二.原理讨论 由于Qt在编译的时候将安装路径硬编码到了库文件 ...
- poj 2051 Argus(优先队列)
题目链接: http://poj.org/problem?id=2051 思路分析: 优先级问题,使用优先队列求解:当执行某个任务后,再增加一个任务到队列中, 该任务的优先级为执行任务的时间加上其时间 ...
- 自制的七个C,总结的太好了
拿破仑·希尔把它叫做:“自制的七个C”: 1.控制自己的时间(Clock). 时间虽不断流逝,但也可以任人支配.你可以选择时间来工作.游戏.休息.烦恼..虽然客观的环境不一定能任人掌握,但人却可以自己 ...
- 页面布局之BFC 微微有点坑
一.什么是BFC: 在解释 BFC 是什么之前,需要先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说 ...
- [转]SAP中找表的方法
http://blog.chinaunix.net/uid-24063584-id-2642334.html 分类: 18种根据屏幕字段查找数据库表数据的技巧 帮助 18种根据屏幕字段查找潜在数据 ...
- vim 多文件编辑【超实用】
vim 多文件编辑(偶的linux笔记) http://blog.csdn.net/lcj_cjfykx/article/details/18805721 通过vim打开的每个文件都对应着一个buff ...
- js获取select默认选中的Option (非当前选中值)
js函数方法: <script> function getDefaultSelectedOption(selectId, valIfNull) { var selectId = selec ...
- C# Base64解码 二进制输出
具体的:Base64编码解码还需要学习 /// <summary> /// base64 解码Excel下载 /// </summary> /// <param name ...