Welcome to ErranLi's Blog!

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

常用链接

留言簿(12)

搜索

  •  

积分与排名

  • 积分 - 165547
  • 排名 - 150

最新评论

阅读排行榜

VC2008 express编译QT4.5(转帖)
2009-11-26 15:35

原文:http://hi.baidu.com/fairysky/blog/item/883cd1b474c33c7b8bd4b219.html

最新的QT4.5发布了,增加了LGPL2.1协议,实在是众望所归啊。。。

参考资料:

1、 【转贴】VC 2005 下如何编译安装并开发 QT 4.4.0 应用程序

2、 qt4:qt编译安装信息的解读

3、 qt4:windows下编译qt 4.3.2

4、 网友已编译好的Qt开源版下载(含Debug库) (主要是参考它的configure参数)

还有QT安装目录下的“ install ”文件

一、下载QT4.5(本文仅讨论LGPL/Free Downloads)

下载地址:http://download.qtsoftware.com/qt/source/qt-win-opensource-src-4.5.0.zip

解压,假定解压到E:\qt-win-opensource-src-4.5.0 (解压路径不要包含空白,另外也建议不要包含中文名称),解压后目录层次:

二、设置环境变量

set QTDIR=E:\qt-win-opensource-src-4.5.0

set path=%path%;%QTDIR%\bin

方法:

“我的电脑”->“属性”->“高级”->“环境变量”,弹出一个对话框,

然后“xxx的用户变量”->“新建”,弹出一个输入对话框,输入:

“变量名” --- QTDIR

“变量值” --- E:\qt-win-opensource-src-4.5.0

同上,修改path环境变量方法:

在“xxx的用户变量”中选择“PATH”,然后“编辑”,在“变量值”的最后输入“ ;%QTDIR%\bin ”(不带引号,注意有一个分号)

三、编译QT

1、在命令行设置好vc编译器环境变量(我是通过一个简单的批处理文件来设置好vc编译器的环境变量)

1 @echooff
2 call"C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
3
4 rem 在这里,调用sqlite3的环境变量设置批处理是因为在后来qt编译时要用到sqlite,qt需要知道sqlite的include和lib以及dll的位置
5 call"D:\环境变量批处理设置\sqlite3环境变量.bat"

过程我就不多说了(如果有不明白的,可以留言;我个人认为尽管在windows下有VS IDE,但是作为一个编程人员,掌握基本的命令行编译知识应该是一个基本的技能)

如果设置好了vc编译器环境变量,运行" cl/? " (不包括引号),如果输出了cl.exe帮助说明信息,则表示vc编译器环境变量设置成功。

可以通过" set path "," set include "," set lib " 命令查看path、include、lib环境变量

2、配置QT(configure

在命令行设置好vc编译器环境变量之后,进入到QT解压目录(%QTDIR%),然后输入" configure/? "(configure位于%QTDIR%目录下),查看configure的帮助。

下面是我的configure配置参数:

1、编译shared版(默认编译为shared版,不需要设置),并且编译debug和release两个版本(-debug-release
2、使用vc2008(包括express版)(-platform win32-msvc2008)
3、使用qt自带的zlib、gif、libpng、libmng、libtiff、libjpeg (
-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg )
4、编译数据库插件支持sqlite、odbc(需要相应的C/C++头文件和库的支持)(
-plugin-sql-sqlite -plugin-sql-odbc )
5、不支持qt3 (-no-qt3support)

其中第4条,我们已经在 vc编译器环境变量设置.bat 进行了设置,通过

call "D:\环境变量批处理设置\sqlite3环境变量.bat"

设置了sqlite的include和lib以及dll的搜索路径(dll搜索路径设置在path环境变量中)

附加
6、无mmx指令集支持 (-no-mmx)
7、无3dnow指令集支持 (-no-3dnow)
8、无sse和sse2指令集支持 (-no-sse -no-sse2)
9、无direct3d支持(我用不上direct3d,默认不编译direct3d)
10、无openssl支持 (-no-openssl)
11、无dbus支持(dbus是一个类似于IPC的实现,不过我好像用不上) (-no-dbus)
12、无phonon支持以及phonon向后兼容性支持(phonon是一个基于kde的多媒体支持,
并且主要是用于那些比较古老的编译器,在我的机器上不需要) (-no-phonon -no-phonon-backend
13、不编译webkit模块(类似于浏览器的东西,我个人不需要) (-no-webkit
14、不支持脚本工具scripttools (-no-scripttools

生成工程文件相关
15、无生成sln以及vcproj文件(生成的sln文件好像不好使,不能用vc2008打开),只生成makefile文件 (-no-dsp -no-vcproj

上述只是我个人的需求,大家可以根据自己的需要进行调整(我这么做只是为了尽可能的缩短编译时间)

configure -debug-and-release -platform win32-msvc2008 -qt-zlib -qt-gif -qt -libpng -qt-libmng -qt-libtiff -qt-libjpeg -plugin-sql-sqlite -plugin-sql- odbc -no-qt3support -no-mmx -no-3dnow -no-sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-webkit -no-scripttools -no-dsp -no-vcproj

configure大概需要执行5~10分钟,如果对configure产生的信息不清楚的话,可以看看这篇文章(qt4:qt编译安装信息的解读

configure.exe主要是做两件事:

1)编译qmake,并将编译好的qmake.exe拷贝到bin目录下(这又是之前要添加" %QTDIR%\bin ”到path环境变量中的原因)

2)生成makefile文件(包括编译qt的makefile文件以及examples、demos、tools等的makefiles文件)

三、编译QT

在QT的解压目录下执行nmake(确保configure.exe运行成功,configure会在QT的解压目录下生成一个Makefile文件)

为了缩短编译时间,我们可以现将examples和demos目录转移(例如新建一个文件夹,然后将这2个目录移到该目录下),这样nmake在编译到examples和demos时会报错,然后退出编译过程

然后就是漫长的等待了~~~(编译的时候就去干点别的吧,运动运动

按照我上面的操作,编译完成qt大概需要1个小时;占用硬盘2G左右;如果完整的编译qt、examples、demos),那么大概需要4~6个小时,占用硬盘10G左右

四、清理收尾工作

编译完成之后,要进行清理,不然那么多硬盘被占用了,太心疼了

运行" nmake confclean "(参见" install "文件),这样清理完成之后,整个qt解压目录大小约为770M左右

五、编译demos

将examples、demos目录移回原位,如果想要运行demos,可以通过命令行进入到demos目录下(保证环境变量已设置好),然后运行nmake(又是一段漫长的时间,1个小时左右)

编译demos完成之后,在qt解压目录下的bin目录中有一个" qtdemo.exe ",运行

同样地,我们也要进行清理工作,进入到demos目录(同上,要保证环境变量已设置好),运行" nmake clean "

这样我们就能看到一部分的运行示例了(为什么是部分?因为qtdemo.exe不仅仅是包含demos目录中的例子,同样也包含examples目录中的例子,如果想要查看完整的qtdemo.exe,还需要编译examples,方法同demos)

最后,将Qt路径添加到VC编译环境中。(参见 【转贴】VC 2005 下如何编译安装并开发 QT 4.4.0 应用程序

工具->选项->项目和解决方案->VC++目录,

在包含文件一栏添加: E:\qt-win-opensource-src-4.5.0\include\QtGui;E:\qt-win-opensource-src-4.5.0\include\QtCore;E:\qt-win-opensource-src-4.5.0\include

在库文件一栏添加E:\qt-win-opensource-src-4.5.0\lib

将QT安装路径添加到Path系统环境变量中,例如:E:\qt-win-opensource-src-4.5.0\bin(这一步可以省略,在本文的“ 二、设置环境变量 ”已经设置好了)

至此,QT和vc编译环境基本上配置完成了

posted on 2010-06-18 10:18 erran 阅读(873) 评论(0)  编辑 收藏 引用 所属分类: QT

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理