vs2012编译
准备
1 下载perl, python, ruby,安装,保证在Path环境变量下能到相应的解释器,
ruby用来编译webkit的
2 安装vs2012 update1,对于qt5这样的大工程,vs2012的mt.exe还有些bug,会导致自动编译中断,update1更新之后就没这样问题了
3 下载icu,
http://site.icu-project.org/, 下载最新版源码,最好下载zip后缀的源码包,解压后,有
vc工程,在 source\allinone目录下,直接打开编译,如果要编译xp能跑的版本,注意在vc工程中
设置一下 xp target工具链, 只需要编译release版本,编译后,新增一个环境变量 INCLUDE, 设置成相应icu目录 include,
再新增一个环境变量LIB,设置成相应icu目录 lib, 如果这2个环境变量本来就有,新增加icu相应目录就行了
4 下载qt5源码包,记住,windows下要下载zip结尾的,不要看到tar.gz的小就下它,tar.gz的源码包不能直接在windows下编译
编译
1) 要编译x86, 打开vc x86命令提示符,如果要编译x64版本,就是x64的vc命令提示符,x64的我没试过
2) 如果要编译在xp上也能跑的qt5版本
set INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Include;%INCLUDE%
set PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Bin;%PATH%
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib;%LIB%
set CL=/D_USING_V110_SDK71_;%CL%
如果是x64,相应的LIB设置应为
set LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\7.1A\Lib\x64;%LIB%
接着
set LINK=/SUBSYSTEM:CONSOLE,5.01 %LINK%
x64版本
set LINK=/SUBSYSTEM:CONSOLE,5.02 %LINK%
3) cd <path>\qt-everywhere-opensource-src-<version>
configure -prefix %CD%\qtbase -opensource -nomake tests -nomake examples
如果想编译例子,可以去掉-nomake examples
4) 执行nmake 开始编译, 编译耗时超长, 我因为编译了webkit和例子,晚上8点到第二天早上10点还没好。
有兴趣可以试试文档说明里的多核编译,我没试过,也懒的试了
5) 生成文档
cd <path>\qt-everywhere-opensource-src-<version>
nmake docs
生成的文档都在qtbase\doc目录下,以qch结尾的
我这遇到一个问题是,编译出来的assistant 无法双击打开图形界面,但是 命令行 assistant -help是正常的,
另外一个问题是 qmlscene有时打开某些qml文件会出错,不知道怎么回事