cz's profile虫虫的窝PhotosBlogListsMore ![]() | Help |
|
2/25/2008 使用msvc-2005编译Qt4.3.3(开源版)说明:Qt从4.3.2版本开始支持msvc-2005,而网上传播较广的都是基于qtwin补丁进行编译的方法:
1、http://www.qtopia.org.cn/phpBB2/viewtopic.php?t=892 2、http://www.qtnode.net/wiki/Qt4_with_Visual_Studio 虽然以上两篇都捎带提到了Qt4.3.2及以上版本直接支持msvc-2005的问题,但是说的并不详细,而且和使用qtwin补丁的方法混合在一起写。本文根据以上两个链接所指向的内容修改,描述msvc-2005直接编译Qt4.3.3(OpenSource)的过程。 一、到Trolltech官方网站下载源代码包qt-win-opensource-src-4.3.3.zip,并解压到某个目录下,我直接把它放D:\qt-win-opensource-src-4.3.3\下。
二、安装MS Visual C++ 2005 Express Edition(这里不讨论安装sp1的情况),把它安装在D:\Program Files\Microsoft Visual Studio 8\下。
三、安装PSDK,安装目录为C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\。
这里附一个镜像地址:ftp://202.38.73.222/pub2/Software/Development/5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.img 或者你也可以在线安装:http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en 四、根据安装目录的具体情况修改D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat文件,根据上文的安装目录,详细如下:
@SET VSINSTALLDIR=D:\Program Files\Microsoft Visual Studio 8
@SET VCINSTALLDIR=D:\Program Files\Microsoft Visual Studio 8\VC @SET FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework @SET FrameworkVersion=v2.0.50727 @SET FrameworkSDKDir=D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0 @if "%VSINSTALLDIR%"=="" goto error_no_VSINSTALLDIR @if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR @echo Setting environment for using Microsoft Visual Studio 2005 x86 tools.
@rem
@rem Root of Visual Studio IDE installed files. @rem @set DevEnvDir=D:\Program Files\Microsoft Visual Studio 8\Common7\IDE @set QTDIR=D:\qt-win-opensource-src-4.3.3 @set QMAKESPEC=win32-msvc2005 @set PATH==%QTDIR%\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=%QTDIR%\include;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;D:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%INCLUDE% @set LIB=%QTDIR%\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;D:\Program Files\Microsoft Visual Studio 8\VC\LIB;D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%LIB% @set LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 @goto end
:error_no_VSINSTALLDIR
@echo ERROR: VSINSTALLDIR variable is not set. @goto end :error_no_VCINSTALLDIR
@echo ERROR: VCINSTALLDIR variable is not set. @goto end :end
然后运行 Visual Studio 2005 命令提示,在命令行中输入:cd D:\qt-win-opensource-src-4.3.3进入Qt源码所在的目录:
D:\qt-win-opensource-src-4.3.3> 运行该目录下的配置工具configure.exe,结束后nmake开始编译 configure nmake nmake confclean 编译需要很长的一段时间,你计算机的性能决定了接下来可以吃饭还是可以好好的睡一觉。 五、编译完成后我们的工作也差不多完成了80%了,剩下的就是IDE设置和项目生成了。接下来是对你自己的Qt代码生成项目文件、makefile文件和编译,在这之前得把D:\qt-win-opensource-src-4.3.3\bin添加进path,然后在你的Qt代码目录下执行:
qmake -project qmake -makefile nmake 六、使用msvc-2005编译的理由之一就是要使用MS系列IDE的代码补全功能,如果要用Visual C++ 2005 Express Edition编写代码,得生成.vcproj
qmake -project qmake -t vcapp 用vs2005ee打开*.vcproj文件,试试代码补全功能,高手别鄙视,我的记忆力决定了自己很依赖这个功能。 七、最后一步,设置Visual C++ 2005 Express Edition编译环境使得可以直接通过IDE的操作来编译代码:
打开 工具->选项->项目和解决方案->VC++目录,把 D:\qt-win-opensource-src-4.3.3\bin添加进【可执行文件】选项 D:\qt-win-opensource-src-4.3.3\include;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include添加进【包含文件】选项 D:\qt-win-opensource-src-4.3.3\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib添加进【库文件】选项 原理和修改vsvars32.bat文件是一样的。 或者,你也可以用步骤五的命令方式编译你的Qt代码。
八、最后,如果你的Visual C++ 2005 Express Edition安装了sp1包,那么请参考开头列出的第二个链接。如果想了解Qt4.3.3(OpenSource)在win下还支持那些编译器,可以查看D:\qt-win-opensource-src-4.3.3\mkspecs文件夹,看样子应该是可以支持VS专业版的,回头再仔细看看Qt4和VS的许可协议,有点懵。 |
|
|