首先要准备一些依赖:

下载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.;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.-rc1\gnuwin32\bin;%CD%\qtbase\bin;D:\libraries\icu\icu51-\lib;

其中

D:\libraries\Ruby193\bin;D:\libraries\Perl\bin;D:\libraries\Python26;D:\qt5\qt-src-5.2.-rc1\gnuwin32\bin;%CD%\qtbase\bin;D:\libraries\icu\icu51-\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.-rc1
configure -opensource -developer-build -mp -platform win32-msvc2010 -nomake examples -nomake tests -icu -I D:\libraries\icu\icu51-\include -L D:\libraries\icu\icu51-\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的编译太麻烦了. 配置麻烦而且时间又长. 艹啊, 我从中午编译到晚上.

vs2010 编译Qt5.2 rc1的更多相关文章

  1. VS2010编译Qt5.4.0静态库

    http://www.kavenblog.com/?p=375 1.Qt的跨平台十分优秀,但是在Windows上是还是会有许多问题,其中之一就是动态链接库的问题,Qt程序的发布必须带一个体积不小的DL ...

  2. 【Qt】VS2010编译Qt5.3.2 64bit

    1. 为什么要这么做 在Windows下,Qt官网默认提供的二进制版本大多是32位,目前(2015.01.24)只对VS2013提供了64位版本,如下图所示: 为了适应我目前安装的VS2010 IDE ...

  3. VS2015编译Qt5.7.0生成支持XP的静态库(很不错)

    一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...

  4. VS2010编译Boost 1.57 静态链接库

    http://www.cnblogs.com/cuish/p/4175491.html 0.前提 Boost库版本 1.57.0 下载地址 http://www.boost.org/users/his ...

  5. msvc2013编译qt5.6源码

    1.回顾 说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵...我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过 ...

  6. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  7. VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

    下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...

  8. Win10 + VS2015 下编译 Qt5.6.0

    近期由于另外一个项目需要用 vs2015 ,于是把 Qt 也升级到了 5.6.0 .由于项目需要兼容 Windows xp ,所以需要自己编译 Qt .这里大致整理一下编译的过程. 安装 Active ...

  9. 使用vs2010编译 Python \ SIP \ PyQt4

    (1)先使用vs2010编译 Python http://www.cnblogs.com/fortwo/archive/2013/04/16/3023871.html 注意,若编译的为debug版的P ...

随机推荐

  1. android各种适配器的用法(转)

    ArrayAdapter_SimpleAdapter_CursorAdapter的区别 数据源不同而已1. String[]: ArrayAdapter2. List<Map<String ...

  2. iOS完结篇

    从去年自己陆陆续续接触iOS开发,几个月过去了,对于苹果的体验,流程,以及规范都有了一定的认 识,还会定期关注iOS的发展. 即将要做win10系统了,为了纪念把自己的虚拟机截图留念吧.也希望微软能在 ...

  3. C# 引用类型的"祸害"

    前端时间刚刚弄完一个项目,终于有时间来总结与回顾了. 项目需求:给用户发送邮件,邮件分为系统邮件和个人邮件,需要按时间.未读降序排列. 一开始以为,这是一个很简单的需求,给邮件建了一个对象: clas ...

  4. post和put的区别

    post : 标识的是处理请求中资源表述的资源 put :  标识的是请求的资源表述 post : 支持多种类型的资源 put  : 支持单一的资源

  5. cocos2d-x 3.0 创建工程的模板

    将下面的代码拷贝到文本文件中,重命名文件为 cocos3.0创建工程.bat @echo off echo -------------------------create project with p ...

  6. 分享一道我认为非常有思考价值JavaScript题目

    这是一道综合性的题目,如果你能快速清晰的分析整理出来,那我相信你对JavaScript是有一定的理解的了.我会先将题目的图片截取出来,供大家思考,在结尾在给出我的分析过程和答案,作个总结. 好,废话不 ...

  7. 5个Xcode开发调试技巧

    转自Joywii的博客,原文:Four Tips for Debugging in XCode Like a Bro    1.Enable NSZombie Objects(开启僵尸对象) Enab ...

  8. [iOS基础控件 - 6.11.2] - UINavigationController 多控制器 简单使用

    A.概念 1.通常一个app有多个控制器 2.需要对这些控制器进行管理 3.有多个view的时候,用一个父view去管理多个子view 4.控制器管理也是如此,使用给一个父控制器,去控制子控制器   ...

  9. AngularJS 学习笔记二

    AngularJS指令 指令 描述 讲解 ng_app 定义应用程序的根元素. 指令 ng_bind 绑定 HTML 元素到应用程序数据. 简介 ng_click 定义元素被单击时的行为. HTML ...

  10. LCA算法

    LCA算法: LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点.也就是说,在两个点通往根的道路上,肯定会有公共的节点,我们就是要求找到公共 ...