vs2010 编译Qt5.2 rc1

首先要准备一些依赖:

下载Qt 5.2.0 rc版的源码 qt-everywhere-opensource-src-5.2.0-rc1.7z 并解压出来, 我的路径为D:\qt5\qt-src-5.2.0-rc1, (我把qt-everywhere-opensource-src-5.2.0-rc1重命名为qt-src-5.2.0-rc1, 名字太长了 --!)

python: 2.6.x以上

ruby: 1.9.3以上 (ruby1.9.3-windows-installer)

perl: 5.14以上 (http://www.activestate.com/activeperl/downloads)

openssl: 需要编译用vs2010编译openssl, 编译步骤可以参考这篇: http://www.cnblogs.com/shootingstars/archive/2006/02/17/332276.html . 我使用的版本为openssl-1.0.1e

icu: Qt提供的开发包下载地址. http://download.qt-project.org/development_releases/prebuilt/icu/prebuilt/msvc2010/icu_51_1_msvc_2010_32_devel.7z

directx : angle库(用于映射gles2.0API到dx9)依赖它, 我安装的directx sdk june 2010版本, 详细解释参考这篇http://qt-project.org/wiki/Qt-5-on-Windows-ANGLE-and-OpenGL

 

开始编译: 

1. 打开Visual Studio 2010 Command Prompt

  先配置path路径, 最好是干净的path, 否则可能会遇到莫名其妙的变异错误(例如: path中包含git的话, 可能会优先使用git下的perl.exe)

  所以这样, 执行echo %path% , 然后把与vs2010相关的路径和system32路径复制出来, 然后在手动加上perl, python等依赖的路径, 我的设置如下

set path=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCPackages;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin;D:\libraries\Ruby193\bin;D:\libraries\Perl\bin;C:\Windows\system32;D:\libraries\Python26;D:\qt5\qt-src-5.2.0-rc1\gnuwin32\bin;%CD%\qtbase\bin;D:\libraries\icu\icu51-1\lib;

 

其中

D:\libraries\Ruby193\bin;D:\libraries\Perl\bin;D:\libraries\Python26;D:\qt5\qt-src-5.2.0-rc1\gnuwin32\bin;%CD%\qtbase\bin;D:\libraries\icu\icu51-1\lib;
gnuwin32\bin; 包含一些gnu工具, 而webkit的编译依赖bison, flex, gperf. 
icu\icu51-1\lib; Qt编译出来的uic.exe doc.exe等依赖icu*.dll
%CD%\qtbase\bin; qmake.exe, uic.exe等



2. Configure

d:
cd D:\qt5\qt-src-5.2.0-rc1
configure -opensource -developer-build -mp -platform win32-msvc2010 -nomake examples -nomake tests -icu -I D:\libraries\icu\icu51-1\include -L D:\libraries\icu\icu51-1\lib -openssl -I D:\libraries\openssl-1.0.1e\inc32 -L D:\libraries\openssl-1.0.1e\out32dll

 

在configure时, -openssl -icu启用openssl和icu支持, 并设置其头文件路径和库文件路径

关于configure的具体参数(例如编译静态库什么的), 可以执行configure -help 查看

.................

OpenSSL support.............yes

................
Third Party Libraries:
ZLIB support............qt
GIF support.............plugin
JPEG support............plugin
PNG support.............yes
FreeType support........yes
HarfBuzz-NG support.....no
PCRE support............qt
ICU support.............yes
ANGLE...................yes

..............

configure的部分结果

 

3. nmake

如果没有问题的, 应该一路编译过去了

如果编译完成后缺少*webkit*.dll的话, 可以再执行nmake module-qtwebkit

 

PS: Qt的编译太麻烦了. 配置麻烦而且时间又长. 艹啊, 我从中午编译到晚上. 

 

 

 

 

posted on 2013-12-04 13:46  一 水  阅读(3801)  评论(5编辑  收藏  举报

导航