qt 4.5 与 visual studio 集成
来源:互联网 发布:mud游戏制作软件 编辑:程序博客网 时间:2024/06/12 23:19
qt 4.5 与visual studio 集成
本文主要讲述将Qt4.5与Visual Studio 2008集成,同样适用于VisualStudio 2005, 2003。
Qt 4.5虽然新增了LGPL协议,但这也阻碍了我们在VS中使用Qt。因为免费开源的版本只提供了GCC编译好的二进制库,而没有VC编译好的二进制库,只有商业版本才有VS编译好的针对Windows的DLL,lib等二进制库(恩,可以理解)。
再者,VC编译器比GCC还是要强劲很多,并且调试器异常强大。QtCreator虽然很酷,目前还很粗糙。很多人也更为熟悉VS的界面。
下面我们就自己用VS编译出二进制库,然后就可以跟商业版一样了。
不过,你也可以直接google“qt4.5 编译好”,找到很多人已经编译好的二进制库,下载下来直接用。下面的内容可以不看了^_^
1. 下载并安装qt-sdk-win-opensource-2009.01.exe,安装到默认的c:/qt/2009.01。它包含了MingGW和Qt Creator,以及预编译好的二进制文件(用GCC编译的)。你可以直接使用QtCreator 开始开发工作,不需要任何额外的配置。
2. 将整个目录c:/qt/2009.01 拷贝一份到c:/qt/4.5.0-vc。我们将会修改目录c:/qt/4.5.0-vc,使用VC++来编译出所需要的库。这两个目录可以同时存在,Qt使用c:/qt/2009.01,VisualStudio 使用c:/qt/4.5.0-vc。
3. 修改C:/Program Files/Microsoft Visual Studio9.0/Common7/Tools/下的vsvars32.bat,在环境变量PATH中添加Qt的目录,如c:/qt/4.5.0-vc/qt,在INCLUDE添加上c:/qt/4.5.0-vc/qt/include ,在LIB添加c:/qt/4.5.0-vc/qt/include,如:
@setPATH=C:/Qt/4.5.0-vc/qt;c:/Program Files/Microsoft Visual Studio9.0/Common7/IDE;c:/Program Files/Microsoft Visual Studio9.0/VC/BIN;c:/Program Files/Microsoft Visual Studio9.0/Common7/Tools;c:/Windows/Microsoft.NET/Framework/v3.5;c:/Windows/Microsoft.NET/Framework/v2.0.50727;c:/ProgramFiles/Microsoft Visual Studio 9.0/VC/VCPackages;%PATH%
@setINCLUDE=C:/Qt/4.5.0-vc/qt/include;c:/Program Files/Microsoft VisualStudio 9.0/VC/ATLMFC/INCLUDE;c:/Program Files/Microsoft Visual Studio9.0/VC/INCLUDE;%INCLUDE%
@setLIB=C:/Qt/4.5.0-vc/qt/lib;c:/Program Files/Microsoft Visual Studio9.0/VC/ATLMFC/LIB;c:/Program Files/Microsoft Visual Studio9.0/VC/LIB;%LIB%
打开一个cmd命令行窗口,把这个文件拖过来执行,这样,你打开的cmd就具有上面设置的环境变量了,但是这些变量只针对你当前的cmd,不会更改本机配置,所以,不要关闭cmd窗口,你需要在这个CMD窗口中完成接下来的命令。
(网上很多没有这一步,会导致下面的configure失败)
4. 执行
c:/>cd c:/qt/4.5.0-vc/qt
c:/qt/4.5.0-vc/qt>configure -no-sql-sqlite -no-qt3support -no-opengl -platformwin32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend-no-webkit
上面这行命令,你可以按自己的需要修改,但注意一定要指明 -platform后的参数,指明想要配置成那个版本的VS。例如系想要编译成VS2005(当然前提是你已经安装了VS2005),就换成win32-msvc2005。这一步会生成一个makefile供nmake编译生成所有的库。这一步要花点时间,大概30分钟。
5. 输入nmake,回车,开始编译。这一步跟漫长,我的大概编译了3个小时~~
注意:如果你是Windows7下,这里多半会失败,因为Win7SDK有Bug,在binary没有resouce区域的时候mt程序是不能把manifest添加到binary中的(参考:http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm),所以我们需要做一些修改才行,
第一步,在CMD下执行如下命令
c:/qt/4.5.0-vc/qt>echo.>hello.rc
c:/qt/4.5.0-vc/qt>rc.exe /r hello.rc
得到c:/qt/4.5.0-vc/qt/hello.res 资源文件。
第二步,修改qmake配置文件,使得Makefile的链接命令中会把hello.res一并链接到binary中。修改mkspecs/win32-msvc2005目录下的qmake.conf文件第52行为
QMAKE_LFLAGS = /NOLOGO C:/Qt/4.5.0-vc/qt/hello.res
这样任何link命令都必然会链接hello.res文件。
然后才能输入nmake开始编译。
6.安装官方的VS插件qt-vs-addin-1.0.0-beta.exe,
7. 启动Visual Studio,选择菜单“Qt->QtOptions”,在”Qt Verions ”选项卡点击“Add”,VersionName随便填,例如“qt4.5.0-vc”,路径则输入“C:/Qt/4.5.0-vc/qt”。(网上的资料有说要建立环境变量QTDIR=C:/Qt/4.5.0-vc/qt,我个人认为是不必要的)。
8. 现在你的VisualStudio 完全具备了Qt的所有功能,新建一个Qt工程编译运行试一试!
(编译好后,在VS下点击Debug-Debugwithout debuggine可以看见程序运行的效果,不过
如果直接到debug目录下双击这个exe文件,会提示找不到QtCore4d.dll,这时你需要把C:/Qt/4.5.0-vc/qt/bin加入到PATH环境变量,这目录下还有QtCore4.dll,都是上面编译出来的)。
不过你现在的环境是集成了LGPL版Qt的VS,跟商业版的还是有点不同。例如QtDesiner(资源设计器)不是嵌入到VS得,需要通过菜单“Qt->LaunchDesiner”来执行(商业版直接双击.ui文件就会启动QtDesiner)。不过这无关紧要,只是多点几下鼠标而已。
点击“Qt->LaunchLinguist”可以启动QtLinguist,它是一款本地化工具,也十分有用。
参考资料:
Howto: Setup Qt 4.5 Visual Studio Integration
在VisualStudio 2008中安装Qt4.5
【转载】编译VS的QT
在Windows7 Beta x64下编译64位Qt4.5.0
原文链接
- qt 4.5 与 visual studio 集成
- qt 4.5 与 visual studio 集成
- qt 4.5 与visual studio 集成
- qt 4.5.0 与 visual studio 集成
- QT 与 Visual studio 2008 的集成
- QT 与 Visual studio 2008 的集成
- qt 4.6.2 与visual studio 2005 集成
- Visual Studio集成Qt环境搭建_详解与测试
- Qt和Visual Studio 2010集成使用
- Visual Studio 2008(含Express版)与Qt 4.5(含4.5的所有版本)集成使用
- 关于Qt 4.7.1与Visual studio 2008的集成开发
- 用Visual Studio 2005 集成环境开发QT程序
- QT与Visual Assitst X的集成问题
- Visual Studio 2010与ClearCase和CCRC集成
- 验证CUDA是否安装成功且与Visual Studio集成
- visual studio code 与github集成(整合)
- QT与Visual Studio 2010整合的例子
- visual studio2010集成QT环境
- Getting Things Done
- 在苹果系统上搭建j2me平台
- SQL Server 2005 Express Edition 用户实例
- 结合使用 ASP.NET 和 SQL Server Express Edition
- oracle权限管理
- qt 4.5 与 visual studio 集成
- 2009-4-5
- 无责任评论Spring和Java企业应用
- myeclips开发struts (一)
- 如何在SQL Server 2005中为安装程序修改计数器注册
- LoadRunner场景的一种设置方法
- 个人整理的Linux Shell语法速查表(用C语言语法来作对比)
- JAVA代码编写的 30 条建议
- 很久不写博客了,负罪感,3天放假期间总结下开学这一个月