Compiling Qt 5.5.1 (With Qtwebkit) With Visual Studio 2015
I usually avoid writing articles about building a specific version of a software project but this time I need to archive it for later use and I believe it’s useful to my fellow programmers.
Despite it’s been released for a while already, it seems the Qt project won’t release binaries prebuilt with Visual Studio 2015 until Qt 5.6 is out. That is to say, somewhere between today and say January, 2016 (blind guess). At work, we’re transitioning from Visual Studio 2012 to Visual Studio 2015 and some projects depend on Qt. That’s why I decided to bite the bullet.
I have to say that I found Qt’s official building from source instructions rather vague. Let the treasure hunt begin.
I first stumbled upon the Qt for Windows - Building from Source page which itself links to the Qt for Windows - Requirements page. The requirements page mentions the ICU and ANGLE libraries. ICU is needed when building QtWekbit and ANGLE is what Qt uses by default for its official Windows builds. To build ANGLE, the requirements page implies you have to install the Direct X SDK. Don’t panic if you don’t find the download for that SDK: it’s been a long time since that SDK ships as part of the Windows SDK itself, which you install along with Visual Studio 2015.
At that point, I felt alone but that didn’t last long. I joined #qt on Freenode and asked around. Someone mentioned theBuilding Qt 5 from Git page on Qt’s wiki which indirectly points to the Compiling ICU with MSVC page.
I decided to go with ICU4C version 54.1 as instructed in the wiki page. However, this version needs to be patched in order to build with Visual Studio 2015: I opened source/io/ufile.c at line 66 and replaced:
#if U_PLATFORM_USES_ONLY_WIN32_API
by
#if U_PLATFORM_USES_ONLY_WIN32_API && _MSC_VER < 1900
Then, I proceeded with building ICU as explained in Qt’s wiki.
As for ANGLE, it turns out Qt bundles its own version and there’s nothing to do. Qt’s configure script will just detect and use it.
QtWebkit now. The Building Qt 5 from Git page tricks you into visiting the official Build Instructions for the QtWebKit build on Windows page on Webkit’s wiki. Just don’t go there. It’s just adding more confusion. You don’t have to build QtWebkit yourself, it’s going to be built as part of Qt’s build provided you installed the proper prerequisites.
Before proceeding with building Qt (with QtWebkit), all you need is to do is installing the following tools (listed on theBuilding Qt 5 from Git page):
Those tools have to be in your %PATH% environment variable as well as Qt’s gnuwin32\bin directory which providesbison, flex and gperf.
I decided to install Active Python 2.7, Strawberry Perl 5.22.0.1 (64 bit) and RubyInstaller 2.2.3 (x64).
Finally, Qt 5.5.1’s source drop shipped with a bug that despite having been opened against RC1 was resolved as “works on our machines, SHIP IT!” :D Hopefully, resolution is quite easy, I just patched src/3rdparty/assimp/assimp.pri.
After all those steps, I successfully built Qt 5.5.1 with QtWebkit with Visual Studio 2015. To help you out, I prepared two Windows batch files: build-x64.bat and build-x86.bat. Create a directory somewhere on your computer and make sure you come up with the following directory structure:
.
├── build-x64.bat
├── build-x86.bat
├── icu
│ └── source
│ ├── ...
│ └── configure
└── qt-everywhere-opensource-src-5.5.1
├── ...
└── configure
Finally, open a CMD.exe prompt, cd to the directory containing the .bat files and launch either build-x64.bat orbuild-x86.bat
Hope that helps!
http://files.cnblogs.com/files/findumars/qt5.51_webkit_build.rar
http://pempek.net/articles/2015/10/18/compiling-qt-5-5-1-with-visual-studio-2015/
Compiling Qt 5.5.1 (With Qtwebkit) With Visual Studio 2015的更多相关文章
- Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
- Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码)
Visual Studio 2015开发Qt项目实战经验分享(附项目示例源码) 转 https://blog.csdn.net/lhl1124281072/article/details/800 ...
- Setup QT 5.5.1 + OpenCV 3.0 + Visual Studio 2013 on windows 10
1. Install Visual studio 2013 community version which is free to use for personal usage. 2. Setup th ...
- 使用 Visual Studio 2015 编译 QT 工程
简单进行一下几步就可以了 1.下载源代码 qt-everywhere-opensource-src-5.6.0-alpha.7z .解压到 D:\ToolKits\5.6.0\src 目录下2.网站 ...
- Visual Studio + Qt开发环境搭建
1. 安装Visual Studio 2015 Visual Studio 2015下载地址如下,安装比较常规,不做介绍. Visual Studio Enterprise 2015 with Upd ...
- Qt Visual Studio Add-in 导出的 .pri 怎么用?
今天咱们介绍一下 Qt Add-in 导出的 pri 文件怎么用. 一般需要导出这个文件, 主要应该是跨平台编译的需求, 所以这个文件里包含的东西会比较少, 咱们看下导出的文件是什么样子的: # ...
- Qt环境搭建(Qt Creator)+Visual Studio
1.http://www.cnblogs.com/ranjiewen/p/5318768.html 简述 经常有人问我编写Qt程序时使用什么IDE,其实这个真的很难回答(各有所长),只能说看个人爱好了 ...
- qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)
不知不觉在蒂森差不多半个月了,哈哈,时间过得很快,过得很充实,近来研究QT,首先嘛,肯定要学会安装了,这最基础的不会更不用说下面的啦.闲话少说,进正题,基本的安装步骤网上多的是,但参考一个大多数情况是 ...
- Qt环境搭建(Visual Studio)
简述 经常有人问我编写Qt程序时使用什么IDE,其实这个真的很难回答(各有所长),只能说看个人爱好了,因为我两个都用,而且两个都很喜欢(比较多情吧O(∩_∩)O~)! 下面将进行Qt Creator与 ...
随机推荐
- 「北京」京东 JD.COM 招聘中/高级前端工程师
工作职责: 负责前端界面的前端构建,各类交互设计与实现: 前端样式和脚本的模块设计及优化: 协同后台开发人员完成项目: 职位要求: 专科及以上学历,2年以上前端重构与脚本开发经验,计算机或相关专业者优 ...
- mysql的四种隔离级别
一.READ UNCOMMITTED(未提交读) 在READ UNCOMMITTED级别,事务中的修改,即使未提交,对其他事务也都是可见的.事务可以读取未提交的数据,这也被称为脏读( Dirty RE ...
- MYSQL 维护表的常用 5 方法
方法 1. analyze table: 本语句用于分析和存储表的关键字分布.在分析期间,使用一个读取锁定对表进行锁定.这对于MyISAM, BDB和InnoDB表有作用. 方法 2. CHECK T ...
- SQL Server 引起磁盘IO的原因
1. 要访问的数据不在内存中.这会引起IO 2. update/delete/insert 会把变化写入数据文件.还要记录日志 : 3. checkpoint 4. lazy writer 5. db ...
- 定制化Azure站点Java运行环境(5)
Java 8下PermGen及参数设置 在上一章节中,我们定制化使用了Java 8环境,使用我们的测试页面打印出了JVM基本参数,但如果我们自己观察,会发现在MXBeans中,没有出现PermGen的 ...
- Visual Studio 2015 Update 3 RC 候选预览版粗来了
.Net 基金会 http://www.dotnetfoundation.org/ 更新的真快,刚打完2的补丁包,3就粗来了............ https://www.visualstudio. ...
- Linux进程间通信——使用流套接字
前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程.通常我们使用socket进行网络编 ...
- 原生Javascript 省市区下拉列表插件
每个电商网站中,都会有收件地址管理模块,用户进行地址操作时,最好不要用户手工进行填写地址. 常见的地址管理界面: 实现插件:PCASClass.js 插件下载地址:http://pan.baidu.c ...
- php信用卡卡号验证函数
介绍一个php信用卡卡号验证函数,可以验证一个卡号是否是信用卡. function validateCard ($cardnumber){ $cardnumber = preg_replace (&q ...
- eclipse搭建Log4J日志环境
在hibernate使用的日志标准都为slf,slf可以看作为它的接口,因此需要找到它的实例,为我们做日志.我们选择使用log4j为实例. 1. 为防止冲突,先将slf4j-nop的jar包(它也是s ...