1. vs2005 是必须安装的.
2. 到 http://qt.nokia.com/downloads , 在页面点击"LGPL"(这个免费的).
在 Qt: Framework Only 的下面点击 Qt libraries 4.6.3 for Windows (VS 2008, 194 MB)
下载 qt-win-opensource-4.6.3-vs2008.exe (注意不是 qt-sdk-win-opensource-2010.02.1.exe)
顺便在 Other downloads 的下面点击 Visual Studio Add-in (44 MB)
下载 qt-vs-addin-1.1.4.exe (这个留在最后面装)
3. 点击 qt-win-opensource-4.6.3-vs2008.exe 进行安装,
本人的 qt 安装目录 g:/Qt/4.6.3 .(安装完大小是 939 M)
4. 设置环境变量(我的电脑属性->高级->环境变量)
在 "系统变量" 下面
"新建" 一个变量名为: QTDIR
变量值为: G:/Qt/4.6.3
"新建" 一个变量名为: QMAKESPEC
变量值为: win32-msvc2005
"编辑" 变量 path, 在其变量值最后面加上: %QTDIR%/bin;
5. 配置 QT4
如果你前面安装了其他的Qt 版本, 需要再命令窗口输入:
G:/>Program Files/Microsoft Visual Studio 8/Common7/Tools> vsvars32.bat
(G:/>Program Files/Microsoft Visual Studio 8/ 是我vs2005的安装目录, 请修改为自己的)
这个操作是重新绑定 vs2005 的环境变量. 不然在 configure 的时候会出问题的.
运行 cmd.exe, 在里面输入:
G:
cd G:/qt/4.6.3
configure -stl -platform win32-msvc2005 -no-dsp -vcproj
(-platform win32-msvc2005 配置MSVC2005作为编译器)
在接下来的界面里面, 输入 "o" "y", 然后等30-60分钟左右(后面的nmake 更夸张, 3 个小时是必须的).
---如果你要重新配置并编译qt4, 输入: nmake distclean 后再用 configure 配置(官方的帮助文档说的).
---其实主要是生成一个 Makefile 文件, 整个qt文件夹大小变为 1.05g.
6. 编译 QT4, 此步骤必须完成, 不然项目无法 debug 运行.
运行 cmd.exe, 在里面输入:
G:
cd G:/qt/4.6.3
nmake (如果刚才的命令窗口没关闭, 直接输 nmake)
接下来就是等了, 3到5个小时左右, 你可以去干其他事情.
4个半小时搞定, 整个qt文件夹大小变为 4.10g(我编辑了 Makefile, 把 examples 和 demos 的编译去掉了, 不然要到 5G多的)
7. 当编译成功后,需要清理编译过程中产生的大量的中间文件
运行 cmd.exe, 在里面输入:
G:
cd G:/qt/4.6.3
nmake clean (如果刚才的命令窗口没关闭, 直接输 nmake clean, 注意不是 nmake confclean, 这个连配置信息都会删除)
顺利清理中间文件后, 整个qt文件夹大小变为 1.15g.(让人抓狂啊, 实际东东才100M, 中间文件快 4g 了, 并且超级花时间!)
8. 安装 qt-vs-addin-1.1.4.exe ,这个超简单啦.
9. 运行 vs2005, 看看菜单栏是不是多了一项 "Qt", 如果没有你就悲剧了~.
Qt -> Qt Options -> Qt Versions, 正常的话, 会自动添加 4.6.3 版本; 否则, 点击 add, 在出来的窗口中点击 "path", 选 "G:/qt/4.6.3 ".
10. 新建一个 qt4 Application 项目, 编辑 *.ui, 用 label 写个大大的 "Hello World!".
分别用 Debug 和 Release 执行, 如果大大的 "Hello World!" 出现, 那证明你集成Qt4 成功了.
11. VAssistX
用vs2005 的人, 很多都会安装VAssistX. 由于Qt 类里面存在着专门的宏甚至是关键字, 如Q_OBJECT, Q_SIGNALS, emit等, 这些宏会妨碍VAssistX 对 Qt 类的方法的识别, 特别是信号方法和槽方法, 如setWindowTitle 方法, 这些方法不能被智能识别.
VAssistX 的官方论坛一个帖子写了一个解决方法:
http://www.wholetomato.com/forum/topic.asp?TOPIC_ID=5510
上面的帖子比较旧了, 现在有更好的解决方法, 那就是更新 VAssistX 的版本, Build 1721 版本已经解决了这个问题.
其更新内容里面有写到:Case correction works with Qt library types. (case=17758)
本人安装了新版本的VAssistX, 确实解决了qt 的方法识别不了的问题.
好了, 你现在可以写代码试试了 setWindowTitle 是否在智能提示里面呢. 还有一点值得注意, 新版本的 VAssistX, 进入项目后VAssistX 的加载速度变得很慢- -!! 你可以在菜单"VAssistX"->"Visual Assist X Options"->"Performance", 把 "Parse all files when opening a project" 前面的勾取消掉, 这样VAssistX 只对你当前打开的页面操作.
其他:
为了写这篇博客, 我特意删除QT, 重新装了一遍, 感动吧! 对了, 文中的第七步, 请大家自己斟酌下, 本来到第六步的时候, 我的界面编辑器是 QT 设计师, 执行第七步后, 变成 qt designer 了, 中文版变 E 文版了, 可恶啊!
从中文 变 E文, 肯定是 nmake clean 的时候删除了某些中间文件造成的, 所以我查看了qt文件夹及其子文件夹的文件, 发现G:/Qt/4.6.3/translations/ 目录下面的文件貌似跟语言版本相关的, 里面有个 Makefile 文件, 简单啦, 在命令窗口中输入
cd G:/Qt/4.6.3/translations/
nmake
这个操作很快就完成了, 再运行 designer.exe 看看, OK! 中文版再现. 看来编译产生的中间文件并不是纯粹的临时文件.
还有一点, 大家检查下 G:/Qt/4.6.3/bin/qtvars.bat 文件, 里面是否
set QMAKESPEC=win32-msvc2005 或者 set QMAKESPEC=win32-msvc2008
参考文章: http://blog.csdn.net/sunwenjun/archive/2008/01/29/2071656.aspx
http://richer-live.blog.sohu.com/142225303.html