【Qt】VS2010编译Qt5.3.2 64bit
1. 为什么要这么做
在Windows下,Qt官网默认提供的二进制版本大多是32位,目前(2015.01.24)只对VS2013提供了64位版本,如下图所示:

为了适应我目前安装的VS2010 IDE,也为了根据自己的需要编译特定的库和插件(比如去掉webkit之类),需要直接从源码编译Qt。
本例编译的是Qt5.3.2版本,应该也适用于Qt5.4.0。
2. 准备
首先,当然需要一个C++编译器,由于一些兼容性原因,我需要用Visual C++ 2010, 也可以用MinGW。用MinGW的话还对调试有帮助,这是后话。
另外在Windows上编译Qt需要一些库,参见http://doc.qt.io/qt-5/windows-requirements.html。
由于我不需要3D图形,WebKit等支持,因此不需要Opengl, ANGLE, ICU等一堆库,只需要以下3个编译时要用的工具(运行时不需要):
- ActivePerl - Install a recent version of ActivePerl (download page) and add the installation location to your
PATH. - Python - Install Python from the here and add the installation location to your PATH in order to be able to build Qt WebKit.
- Install Ruby from here and add the installation location to your PATH in order to be able to build Qt WebKit.
把这3个玩意儿下载安装上即可。
3. 编译
把下载下来的Qt源码解压至目录<QtDir>,然后在此目录根下创建一个批处理文件,内容如下:
@echo off ECHO 设置 Visual Studio environment...
CALL "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64
title Command Prompt (MSVC++ 2010) x64 SET QTSRC_DIR=H:\qt-msvc2010-x64
SET QMAKESPEC=win32-msvc2010 SET PATH=%PATH%;%QTSRC_DIR%\qtbase\bin;%QTSRC_DIR%\gnuwin32\bin
SET PATH=%PATH%;C:\Python27;C:\Perl64\bin;C:\Ruby21-x64\bin; ECHO 按任意键,进行configure...
@PAUSE>NUL
CALL configure -opensource -mp -debug-and-release -nomake examples -no-opengl -no-angle -skip qtquick1 -skip qtquickcontrols -skip qtsensors -skip qtwebkit ECHO 按任意键,开始编译...
@PAUSE>NUL
CALL jom.exe -j 4 REM 重新配置和编译请使用
REM nmake distclean 或jom clean goto :eof
其中设置好了VC++环境变量、源码目录、必备工具执行目录等等;
通过configure设置了需要编译的模块和不需要编译的模块。通过禁止不需要的编译模块,可以大幅加快编译速度;
jom.exe -j 4指定使用4个线程并行编译。
写好保存为bat文件,在命令行执行即可。
【Qt】VS2010编译Qt5.3.2 64bit的更多相关文章
- VS2010编译Qt5.4.0静态库
http://www.kavenblog.com/?p=375 1.Qt的跨平台十分优秀,但是在Windows上是还是会有许多问题,其中之一就是动态链接库的问题,Qt程序的发布必须带一个体积不小的DL ...
- vs2010 编译Qt5.2 rc1
首先要准备一些依赖: 下载Qt 5.2.0 rc版的源码 qt-everywhere-opensource-src-5.2.0-rc1.7z 并解压出来, 我的路径为D:\qt5\qt-src-5.2 ...
- VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...
- 静态编译Qt5.4.1和Qt WebKit
图灵社区文章地址:http://www.ituring.com.cn/article/195148WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以来都觉 ...
- 静态编译Qt5.4.1和Qt WebKit(网事如风的blog)good
blog文章地址:http://godebug.org/index.php/archives/133/ WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以 ...
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- VS2010编译Qt程序失败------error LNK1123: 转换到 COFF 期间失败:
error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏使用VS2010编译VC++项目的时候可能会出这个问题. 据说升级到SP1后可能问题解决,但是下载量太大,目前没有得到证实. ...
- 使用vs2010编译 Python \ SIP \ PyQt4
(1)先使用vs2010编译 Python http://www.cnblogs.com/fortwo/archive/2013/04/16/3023871.html 注意,若编译的为debug版的P ...
随机推荐
- 安装zoom
ubuntu zoom下载地址:https://zoom.us/download?os=linux 安装: sudo apt-get install libxcb-xtest0 sudo dpkg - ...
- react-native 生命周期
一.前言 问: 什么是组件的生命周期? 组件的生命周期中都包含哪些方法,各有什么作用? 生命周期的方法都在什么时候调用? 生命周期: 顾名思义,一个主体从出生到死亡的整个过程 学习组件(React的基 ...
- JavaScript 对象属性作实参以及实参对象的callee属性
参考自<<JavaScript权威指南 第6版>> /* * 将对象属性用作实参, 从而不必记住参数的顺序. */ function arraycopy(from,from_s ...
- Mac Sublime Text 浏览器 设置快捷键 让html文件在浏览器打开
首先,进入命令行界面(这里mac和windows一样) 应用命令下载插件 输入命令二 然后就会发现在工具栏多出一个下拉选项 mac的跟它有些区别就是快捷键 mac快捷键是^+√+ V ++字母V,就会 ...
- js 中的 2 与 "2"
case1: "15" * 2 结果:30 case2: 2 * "15" 结果:30 case3: "2" * "15" ...
- Spring源码解析 - ListableBeanFactory
Extension of the {@link BeanFactory} interface to be implemented by bean factories that can enumerat ...
- 看图说说Heap中对象的生存状态
- handsontable-developer guide-cell function
renderer 展示的数据不是来自于数据源,而是先把DOM和其他信息传给renderer,然后展示. //五种展示函数 TextRenderer: default NumericRenderer A ...
- Hadoop 集群配置记录小结
Hadoop集群配置往往按照网上教程就可以"配置成功",但是你自己在操作的时候会有很多奇奇怪怪的问题出现, 我在这里整理了一下常见的问题与处理方法: 1.配置/etc/hosts ...
- SQL表连接查询inner join left join right join full join ...
一.最常见的连接查询 select s.name,m.mark from student s,mark m where s.id=m.studentid. 二.内连接-inner join sel ...