<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>研究研究 &#187; qt</title>
	<atom:link href="http://www.yanjiuyanjiu.com/tag/qt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yanjiuyanjiu.com</link>
	<description>关注互联网和人工智能</description>
	<lastBuildDate>Wed, 04 Jan 2012 04:36:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>qt 4.5 与visual studio 集成</title>
		<link>http://www.yanjiuyanjiu.com/2009/04/09/qt-vs-intergration/</link>
		<comments>http://www.yanjiuyanjiu.com/2009/04/09/qt-vs-intergration/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 09:30:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[开源工具]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://www.yanjiuyanjiu.com/?p=126</guid>
		<description><![CDATA[本文主要讲述将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 [...]]]></description>
			<content:encoded><![CDATA[<p class="western"><span style="font-family: 宋体,SimSun">本文主要讲述将</span>Qt 4.5<span style="font-family: 宋体,SimSun">与 </span>Visual Studio 2008<span style="font-family: 宋体,SimSun">集成，同样适用于</span>Visual Studio 2005, 2003<span style="font-family: 宋体,SimSun">。</span></p>
<p class="western">Qt 4.5 <span style="font-family: 宋体,SimSun">虽然新增了</span>LGPL<span style="font-family: 宋体,SimSun">协议，但这也阻碍了我们在</span>VS<span style="font-family: 宋体,SimSun">中使用</span>Qt<span style="font-family: 宋体,SimSun">。因为免费开源的版本只提供了</span>GCC<span style="font-family: 宋体,SimSun">编译好的二进制库，而没有</span>VC<span style="font-family: 宋体,SimSun">编译好的二进制库，只有商业版本才有</span>VS<span style="font-family: 宋体,SimSun">编译好的针对</span>Windows<span style="font-family: 宋体,SimSun">的</span>DLL<span style="font-family: 宋体,SimSun">，</span>lib<span style="font-family: 宋体,SimSun">等二进制库（恩，可以理解）。</span></p>
<p class="western"><span style="font-family: 宋体,SimSun">再者，</span>VC<span style="font-family: 宋体,SimSun">编译器比</span>GCC <span style="font-family: 宋体,SimSun">还是要强劲很多，并且调试器异常强大。</span>Qt Creator<span style="font-family: 宋体,SimSun">虽然很酷，目前还很粗糙。很多人也更为熟悉</span>VS<span style="font-family: 宋体,SimSun">的界面。</span></p>
<p class="western"><span style="font-family: 宋体,SimSun">下面我们就自己用</span>VS<span style="font-family: 宋体,SimSun">编译出二进制库，然后就可以跟商业版一样了。</span></p>
<p class="western"><span style="font-family: 宋体,SimSun">不过，你也可以直接</span>google“qt 4.5 <span style="font-family: 宋体,SimSun">编译好”，找到很多人已经编译好的二进制库，下载下来直接用。下面的内容可以不看了</span>^_^<span id="more-4047"></span></p>
<p class="western">
<p class="western">1. <span style="font-family: 宋体,SimSun">下载并安装 </span><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtsoftware.com/downloads/sdk-windows-cpp">qt-sdk-win-opensource-2009.01.exe</a></span></span><span style="font-family: 宋体,SimSun">，安装到默认的 </span>c:\qt\2009.01<span style="font-family: 宋体,SimSun">。它包含了</span>MingGW<span style="font-family: 宋体,SimSun">和 </span>Qt Creator<span style="font-family: 宋体,SimSun">，以及预编译好的二进制文件（用</span>GCC<span style="font-family: 宋体,SimSun">编译的）。你可以直接使用</span>Qt Creator <span style="font-family: 宋体,SimSun">开始开发工作，不需要任何额外的配置。</span></p>
<p class="western">
<p class="western">2. <span style="font-family: 宋体,SimSun">将整个目录 </span>c:\qt\2009.01 <span style="font-family: 宋体,SimSun">拷贝一份到 </span>c:\qt\4.5.0-vc<span style="font-family: 宋体,SimSun">。我们将会修改目录</span>c:\qt\4.5.0-vc<span style="font-family: 宋体,SimSun">，使用</span>VC++<span style="font-family: 宋体,SimSun">来编译出所需要的库。这两个目录可以同时存在，</span>Qt<span style="font-family: 宋体,SimSun">使用</span>c:\qt\2009.01<span style="font-family: 宋体,SimSun">，</span>Visual Studio <span style="font-family: 宋体,SimSun">使用 </span>c:\qt\4.5.0-vc<span style="font-family: 宋体,SimSun">。</span></p>
<p class="western">
<p class="western">3. <span style="font-family: 宋体,SimSun">修改 </span>C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\<span style="font-family: 宋体,SimSun">下的 </span>vsvars32.bat<span style="font-family: 宋体,SimSun">，在环境变量</span>PATH<span style="font-family: 宋体,SimSun">中添加</span>Qt<span style="font-family: 宋体,SimSun">的目录，如 </span>c:\qt\4.5.0-vc\qt<span style="font-family: 宋体,SimSun">，在</span>INCLUDE <span style="font-family: 宋体,SimSun">添 加上</span>c:\qt\4.5.0-vc\qt\include <span style="font-family: 宋体,SimSun">，在</span>LIB<span style="font-family: 宋体,SimSun">添加 </span>c:\qt\4.5.0-vc\qt\include<span style="font-family: 宋体,SimSun">，如：</span></p>
<p class="western">
<p class="western"><span>@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%</span></p>
<p class="western"><span>@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%</span></p>
<p class="western"><span>@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%</span></p>
<p class="western">
<p class="western"><span style="font-family: 宋体,SimSun">打开一个</span>cmd<span style="font-family: 宋体,SimSun">命令行窗口，把这个文件拖过来执行，这样，你打开的</span>cmd<span style="font-family: 宋体,SimSun">就具有上面设置的环境变量了，但是这些变量只针对你当前的</span>cmd<span style="font-family: 宋体,SimSun">，不会更改本机配置，所以，不要关闭</span>cmd<span style="font-family: 宋体,SimSun">窗口，你需要在这个</span>CMD<span style="font-family: 宋体,SimSun">窗口中完成接下来的命令。</span></p>
<p class="western"><span style="font-family: 宋体,SimSun"><span style="color: #ff0000">（网上很多没有这一步， 会导致下面的</span></span><span style="color: #ff0000">configure<span style="font-family: 宋体,SimSun">失败）</span></span></p>
<p class="western">
<p class="western" style="color: #000000">4. <span style="font-family: 宋体,SimSun">执行</span></p>
<p class="western" style="color: #000000"><span>c:\&gt; cd c:\qt\4.5.0-vc\qt</span></p>
<p class="western" style="color: #000000"><span>c:\qt\4.5.0-vc\qt&gt; configure -no-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit</span></p>
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">上面这行命令，你可以按自己的需要修改，但注意一定要指明 </span>-platform <span style="font-family: 宋体,SimSun">后的参数，指明想要配置成那个版本的</span>VS<span style="font-family: 宋体,SimSun">。例如系想要编译成</span>VS2005<span style="font-family: 宋体,SimSun">（当然前提是你已经安装了</span>VS2005<span style="font-family: 宋体,SimSun">），就换成 </span>win32-msvc2005<span style="font-family: 宋体,SimSun">。这一步会生成一个</span>makefile<span style="font-family: 宋体,SimSun">供</span>nmake<span style="font-family: 宋体,SimSun">编译生成所有的库。这一步要花点时间，大概</span>30<span style="font-family: 宋体,SimSun">分钟。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000">5. <span style="font-family: 宋体,SimSun">输入 </span>nmake<span style="font-family: 宋体,SimSun">，回车，开始编译。这一步跟漫长，我的大概编译了</span>3<span style="font-family: 宋体,SimSun">个小时</span>~~</p>
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun"><strong> 注意：</strong>如果你是</span>Windows 7<span style="font-family: 宋体,SimSun">下，这里多半会失败，因为</span>Win 7 SDK<span style="font-family: 宋体,SimSun">有</span>Bug<span style="font-family: 宋体,SimSun">，在</span>binary<span style="font-family: 宋体,SimSun">没有</span>resouce<span style="font-family: 宋体,SimSun">区域的时候</span>mt<span style="font-family: 宋体,SimSun">程序是不能把</span>manifest<span style="font-family: 宋体,SimSun">添加到</span>binary<span style="font-family: 宋体,SimSun">中的（参考：</span><span style="text-decoration: underline"><a href="http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm">http://download.microsoft.com/download/8/8/0/8808A472-6450-4723-9C87-977069714B27/ReleaseNotes.Htm</a></span><span style="font-family: 宋体,SimSun">），所以我们需要做一些修改才行，</span></p>
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">第一步，在</span>CMD<span style="font-family: 宋体,SimSun">下执行如下命令</span></p>
<p class="western" style="color: #000000">c:\qt\4.5.0-vc\qt&gt;echo.&gt;hello.rc</p>
<p class="western" style="color: #000000">c:\qt\4.5.0-vc\qt&gt; rc.exe /r hello.rc</p>
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">得到 </span>c:\qt\4.5.0-vc\qt\hello.res <span style="font-family: 宋体,SimSun">资源文件。</span></p>
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">第二步，修改</span>qmake<span style="font-family: 宋体,SimSun">配置文件，使得</span>Makefile<span style="font-family: 宋体,SimSun">的链接命令中会把</span>hello.res<span style="font-family: 宋体,SimSun">一并链接到</span>binary<span style="font-family: 宋体,SimSun">中。修改</span>mkspecs\win32-msvc2005<span style="font-family: 宋体,SimSun">目录下的</span>qmake.conf<span style="font-family: 宋体,SimSun">文件第</span>52<span style="font-family: 宋体,SimSun">行为</span></p>
<p class="western" style="color: #000000"><span> QMAKE_LFLAGS = /NOLOGO C:\Qt\4.5.0-vc\qt\hello.res</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">这样任何</span>link<span style="font-family: 宋体,SimSun">命令都必然会链接</span>hello.res<span style="font-family: 宋体,SimSun">文件。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">然后才能输入</span>nmake<span style="font-family: 宋体,SimSun">开始编译。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000">6. <span style="font-family: 宋体,SimSun">安装官方的</span>VS<span style="font-family: 宋体,SimSun">插件</span><span style="text-decoration: underline"><a href="http://www.qtsoftware.com/downloads/visual-studio-add-in-beta">qt-vs-addin-1.0.0-beta.exe</a></span><span style="font-family: 宋体,SimSun">，</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000">7. <span style="font-family: 宋体,SimSun">启动 </span>Visual Studio<span style="font-family: 宋体,SimSun">，选择菜单“</span>Qt-&gt;Qt Options”<span style="font-family: 宋体,SimSun">，在” </span>Qt Verions ”<span style="font-family: 宋体,SimSun">选项卡点击 “</span>Add”<span style="font-family: 宋体,SimSun">，</span>Version Name<span style="font-family: 宋体,SimSun">随便填，例如 “</span>qt4.5.0-vc”<span style="font-family: 宋体,SimSun">，路径则输入 “</span>C:\Qt\4.5.0-vc\qt”<span style="font-family: 宋体,SimSun">。（网上的资料有说要建立环境变量</span>QTDIR= C:\Qt\4.5.0-vc\qt<span style="font-family: 宋体,SimSun">，我个人认为是不必要的）。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000">8. <span style="font-family: 宋体,SimSun">现在你的</span>Visual Studio <span style="font-family: 宋体,SimSun">完全具备了</span>Qt<span style="font-family: 宋体,SimSun">的所有功能，新建一个</span>Qt <span style="font-family: 宋体,SimSun">工程编译运行试一试！</span></p>
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">（编译好后，在</span>VS<span style="font-family: 宋体,SimSun">下点击</span>Debug-Debug without debuggine<span style="font-family: 宋体,SimSun">可以看见程序运行的效果，不过</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">如果直接到</span>debug<span style="font-family: 宋体,SimSun">目录下双击这个</span>exe<span style="font-family: 宋体,SimSun">文件，会提示找不到</span>QtCore4d.dll<span style="font-family: 宋体,SimSun">，这时你需要把</span>C:\Qt\4.5.0-vc\qt\bin<span style="font-family: 宋体,SimSun">加入到</span>PATH<span style="font-family: 宋体,SimSun">环境变量，这目录下还有</span>QtCore4.dll<span style="font-family: 宋体,SimSun">，都是上面编译出来的）。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">不过你现在的环境是集成了</span>LGPL<span style="font-family: 宋体,SimSun">版</span>Qt<span style="font-family: 宋体,SimSun">的</span>VS<span style="font-family: 宋体,SimSun">，跟商业版的还是有点不同。例如</span>Qt Desiner<span style="font-family: 宋体,SimSun">（资源设计器）不是嵌入到</span>VS<span style="font-family: 宋体,SimSun">得，需要通过菜单“</span>Qt-&gt;Launch Desiner”<span style="font-family: 宋体,SimSun">来执行（商业版直接双击</span>.ui<span style="font-family: 宋体,SimSun">文件就会启动</span>Qt Desiner<span style="font-family: 宋体,SimSun">）。不过这无关紧要，只是多点几下鼠标而已。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">点击“</span>Qt-&gt;Launch Linguist”<span style="font-family: 宋体,SimSun">可以启动</span>Qt Linguist<span style="font-family: 宋体,SimSun">，它是一款本地化工具，也十分有用。</span></p>
<p class="western" style="color: #000000">
<p class="western" style="color: #000000"><span style="font-family: 宋体,SimSun">参考资料：</span></p>
<p class="western"><span style="color: #ff0000"><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://dcsoft.com/community_server/blogs/dcsoft/archive/2009/03/06/how-to-setup-qt-4-5-visual-studio-integration.aspx">How to: Setup Qt 4.5 Visual Studio Integration</a></span></span></span></p>
<p class="western"><span style="color: #ff0000"><span style="font-family: 宋体,SimSun"><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16744">在</a></span></span></span><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16744">Visual Studio 2008<span style="font-family: 宋体,SimSun">中安装</span></a><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16744">Qt 4.5</a></span></span></span></span></span></p>
<p class="western"><span style="color: #ff0000"><span style="color: #0000ff"><span style="text-decoration: underline"><span style="font-family: 宋体,SimSun"><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://hi.baidu.com/zhanglei_186/blog/item/33f9c48267b1b9a70cf4d2be.html">【转载】编译</a></span></span></span><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://hi.baidu.com/zhanglei_186/blog/item/33f9c48267b1b9a70cf4d2be.html">VS<span style="font-family: 宋体,SimSun">的</span></a><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://hi.baidu.com/zhanglei_186/blog/item/33f9c48267b1b9a70cf4d2be.html">QT</a></span></span></span></span></span></span></span></p>
<p class="western"><span style="color: #ff0000"><span style="color: #0000ff"><span style="text-decoration: underline"><span style="color: #0000ff"><span style="text-decoration: underline"><span style="font-family: 宋体,SimSun"><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16172">在</a></span></span></span><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16172">Windows 7 Beta x64<span style="font-family: 宋体,SimSun">下编译</span></a><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16172">64<span style="font-family: 宋体,SimSun">位</span></a><span style="color: #0000ff"><span style="text-decoration: underline"><a href="http://www.qtcn.org/bbs/read.php?tid=16172">Qt 4.5.0</a></span></span></span></span></span></span></span></span></span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yanjiuyanjiu.com/2009/04/09/qt-vs-intergration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

