qt 4.5 与 visual studio 集成

qt 4.5 visual studio 集成

本文主要讲述将 Qt 4.5 Visual Studio 2008集成,同样适用于 Visual Studio 2005, 2003

Qt 4.5 虽然新增了 LGPL协议,但这也阻碍了我们在 VS中使用 Qt。因为免费开源的版本只提供了 GCC编译好的二进制库,而没有 VC编译好的二进制库,只有商业版本才有 VS编译好的针对 Windows DLL lib等二进制库(恩,可以理解)。

再者, VC编译器比 GCC 还是要强劲很多,并且调试器异常强大。 Qt Creator虽然很酷,目前还很粗糙。很多人也更为熟悉 VS的界面。

下面我们就自己用 VS编译出二进制库,然后就可以跟商业版一样了。

不过,你也可以直接 google“qt 4.5 编译好”,找到很多人已经编译好的二进制库,下载下来直接用。下面的内容可以不看了 ^_^

 

1. 下载并安装 qt-sdk-win-opensource-2009.01.exe ,安装到默认的 c:/qt/2009.01。它包含了 MingGW Qt Creator,以及预编译好的二进制文件(用 GCC编译的)。你可以直接使用 Qt Creator 开始开发工作,不需要任何额外的配置。

 

2. 将整个目录 c:/qt/2009.01 拷贝一份到 c:/qt/4.5.0-vc。我们将会修改目录 c:/qt/4.5.0-vc,使用 VC++来编译出所需要的库。这两个目录可以同时存在, Qt使用 c:/qt/2009.01 Visual Studio 使用 c:/qt/4.5.0-vc

 

3. 修改 C:/Program Files/Microsoft Visual Studio 9.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,如:

 

@set PATH=C:/Qt/4.5.0-vc/qt;c:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE;c:/Program Files/Microsoft Visual Studio 9.0/VC/BIN;c:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools;c:/Windows/Microsoft.NET/Framework/v3.5;c:/Windows/Microsoft.NET/Framework/v2.0.50727;c:/Program Files/Microsoft Visual Studio 9.0/VC/VCPackages;%PATH%

@set INCLUDE=C:/Qt/4.5.0-vc/qt/include;c:/Program Files/Microsoft Visual Studio 9.0/VC/ATLMFC/INCLUDE;c:/Program Files/Microsoft Visual Studio 9.0/VC/INCLUDE;%INCLUDE%

@set LIB=C:/Qt/4.5.0-vc/qt/lib;c:/Program Files/Microsoft Visual Studio 9.0/VC/ATLMFC/LIB;c:/Program Files/Microsoft Visual Studio 9.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 -platform win32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit

上面这行命令,你可以按自己的需要修改,但注意一定要指明 -platform 后的参数,指明想要配置成那个版本的 VS。例如系想要编译成 VS2005(当然前提是你已经安装了 VS2005),就换成 win32-msvc2005。这一步会生成一个 makefile nmake编译生成所有的库。这一步要花点时间,大概 30分钟。

 

5. 输入 nmake,回车,开始编译。这一步跟漫长,我的大概编译了 3个小时 ~~

    注意: 如果你是 Windows 7下,这里多半会失败,因为 Win 7 SDK 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->Qt Options”,在” Qt Verions ”选项卡点击 “ Add” Version Name随便填,例如 “ qt4.5.0-vc”,路径则输入 “ C:/Qt/4.5.0-vc/qt”。(网上的资料有说要建立环境变量 QTDIR= C:/Qt/4.5.0-vc/qt,我个人认为是不必要的)。

 

8. 现在你的 Visual Studio 完全具备了 Qt的所有功能,新建一个 Qt 工程编译运行试一试!

(编译好后,在 VS下点击 Debug-Debug without debuggine可以看见程序运行的效果,不过

 

如果直接到 debug目录下双击这个 exe文件,会提示找不到 QtCore4d.dll,这时你需要把 C:/Qt/4.5.0-vc/qt/bin加入到 PATH环境变量,这目录下还有 QtCore4.dll,都是上面编译出来的)。

 

不过你现在的环境是集成了 LGPL Qt VS,跟商业版的还是有点不同。例如 Qt Desiner(资源设计器)不是嵌入到 VS得,需要通过菜单“ Qt->Launch Desiner”来执行(商业版直接双击 .ui文件就会启动 Qt Desiner)。不过这无关紧要,只是多点几下鼠标而已。

 

点击“ Qt->Launch Linguist”可以启动 Qt Linguist,它是一款本地化工具,也十分有用。

 

参考资料:

How to: Setup Qt 4.5 Visual Studio Integration

Visual Studio 2008中安装 Qt 4.5

【转载】编译 VS QT

Windows 7 Beta x64下编译 64 Qt 4.5.0

 

原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值