由于种种原因最近看上了QT这个东东
因为有不少好处,比如跨平台.......
好处就不多说了地球人都知道
我写这个东西的目的不是夸Qt
一、是写出来给自己做个备忘录
二、是抛砖引玉
三、是给其他想选择QT的同胞做个交代:看看这个经历是不是你想要的
为什么选择VC2005 express?
在mingw版本的几天试用中发现:
g++/gdb在qtcreator环境中的表现实在令人大跌眼镜
效率低下不说,gdb经常挂起不动(官方网站也有类似反应)
穷则思变,想看看声称支持VC系统的qt表现如何
VC express是免费系统,而且安装相对小巧(相对地...)
下面分阶段交代安装过程:
1.编译调试工具下载及安装 VC2005 express下载:
http://download.microsoft.com/download/A/9/1/A91D6B2B-A798-47DF-9C7E-A97854B7DD18/VC.iso (约473M)
VC2005 express service pack1下载:
http://www.microsoft.com/downloads/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&displaylang=en (约44MB)
注:
以上为2005英文版,为什么这样选择呢:
因为某些地方传言qt使用中文版VC编译可能有问题。
其实,经实践确定那些问题在英文版中也存在
又由于某些地方风传qt的某些模块VC2008编译不能通过
其实,经实践确定那些问题在2005也不能通过
所以我推荐大家直接上 中文VC2008 express sp1
http://download.microsoft.com/download/3/0/2/3025eae6-2e15-4972-972a-f5b1ed248e85/VS2008ExpressWithSP1CHSX1504735.iso (约1G)
microsoft cdb调试器:
http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx (约18MB)
具体安装过程不说了,例行公事而已。
2.MS-SDK 无论是否QT,VC编程一般少不了两样东西:
ms platform sdk
http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en (约1.3GB)
建议不要安装example及document否则安装过程就要“等得花儿也谢了”
ms directx sdk
http://download.microsoft.com/download/3/A/5/3A53CE87-F5C9-4CE5-92E1-5E2AF4841741/DXSDK_Mar09.exe (约500MB)
建议不要安装example
至此我们大约下载了2.5G的东东,占硬盘多少你看着办吧...
3.VC及SDK的手工配置 这个步骤主要是让c++编译器知道include,lib路径
假设上面的几个组件安装路径是这样的:
VC 2005 express: C:\program files\Microsoft Visual Studio 8
microsoft platform sdk: D:\MSSDK\Windows\v6.1
microsoft directx sdk: D:\MSDSSDK
microsoft cdb: C:\Program Files\Debugging Tools for Windows(x86)
需要配置vc的命令行界面环境和集成开发环境
A.命令行界面环境
需要修改 C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat 文件
其中的PATH,INCLUDE,LIB应该这样设置:
@set PATH=
D:\MSSDK\Windows\v6.1\Bin;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE;D:\Program Files\Microsoft Visual Studio 8\VC\BIN;D:\Program Files\Microsoft Visual Studio 8\Common7\Tools;D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;D:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;%PATH%
@set INCLUDE=
D:\MSDXSDK\Include;D:\MSSDK\Windows\v6.1\Include;D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%INCLUDE%
@set LIB=
D:\MSDXSDK\Lib;D:\MSSDK\Windows\v6.1\Lib;D:\Program Files\Microsoft Visual Studio 8\VC\LIB;D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%LIB%
B.VC express集成开发环境中
要对tools/options中的project&solution中的vc directorys的include path和lib path进行修改
4.qt 4.5.2 sdk (opensource) 的下载安装http://get.qtsoftware.com/qtsdk/qt-sdk-win-opensource-2009.03.exe (178MB)
既然打算用vc编译,mingw就不要装了
假定安装目录为: D:\Qt\2009.03
这个安装基本上一马平川
安装完成后执行qtCreator在里面设置调试器
5.qt编译(build)这是最令人头痛的步骤
选择左下角:开始->Visual C++ 2005 Express Edition -> Visual Studio Tools -> Visual Studio 2005 Command Prompt
在这个dos环境下执行下列步骤
A.首先是configure.exe的执行:
这个步骤决定了你将来用什么编译器、调试器做开发
要注意
i.用vc 2005 express,你要选择-platform win32-msvc2005 参数
ii. 在vc2005/vc2008环境中qt4.5.2的webkit模块是无法编译成功的
(参见官方blog:
http://labs.trolltech.com/blogs/2009/06/25/qt-452-has-been-released/)
所以在设置configure参数时有必要-no-webkit
iii.为了节省编译时间,有必要设置参数-fast
iv.还是为了节省编译时间,你最好
放弃examples和demo的编译,加上一对未公开的参数
-nomake examples -nomake demos
(讨论参见:
http://lists.trolltech.com/qt-interest/2008-03/thread00809-0.html)
综合下来命令行应该是:
configure -platform
win32-msvc2005 -no-webkit -opensource -fast
-nomake examples -nomake demos这个步骤时间不长大约20分钟
B.执行nmake
nmake
这个步骤大约4小时
强烈建议在此期间关闭杀毒程序的实时保护功能,因为在此期间编译过程会反复重写DLL,EXE,杀毒程序接管此类操作,造成莫名其妙的link错误。
C.为了节省磁盘空间,删除编译中间临时文件(如果不在乎硬盘空间,请忽略这个问题)
nmake clean
注意,D:\Qt\2009.03\qt\Lib\*.pdb文件会被清理掉
这个会影响debugger对QT源码的跟踪(如果你不想qt源码可以忽略这个问题)
所以我在执行"nmake clean"之前
对*.pdb做了保护
所以这个步骤实际上是这样的:
md temp
move lib\*.pdb temp
nmake clean
move temp\*.pdb lib
为了一气呵成,我把整个configure及nmake阶段做成了批处理build.ms.bat:
configure -platform win32-msvc2005 -no-webkit -opensource -fast -nomake examples -nomake demos
nmake
md temp
move lib\*.pdb temp
nmake clean
move temp\*.pdb lib
整个build过程,执行这个build.ms.bat
6.QT的编译的重新利用因为QT的编译过程耗时太久
所以考虑一次编译多人分享
D:\Qt\2009.03\qt\Lib下的*.lib,*.dll可以作为编译成果拷贝到其他已经安装了QT下对应的目录中
在copy之前configure过程是不能省略的
另外如果你希望从D:盘换到E:盘你必须重新build Qt
否则你什么都不能做
就这个问题用户与官方开发者正在吵架
估计近期不会有太好的结果
(参见
http://lists.trolltech.com/qt-interest/2007-08/thread00835-0.html )
提示一下,vc++2008与这个过程几乎是一样的
初步使用的感觉是与vc/cdb集成的不错,debugger启动效率不错。
至此你可以开始你的QT程序旅程了......
[ 此帖被qindq在2009-07-07 09:18重新编辑 ]