VS2005下如何安装配置编译Qt4.5

本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发Qt4.5应用程序,其实大部分方法和Qt4.4.3是一样的,不过Qt4.5集成了Qt Creater,目录的形式有点改变了,现在我就把我的安装方法分享给大家(首先保证你的Qt安装目录所在的磁盘有5G空间,因为我的是完全编译,除了例子,加上例子应该是10G多):

一、下载及安装

1. 下载,直接找官网下载就可以了,我的是qt-sdk-win-opensource-2009.03.1.exe;

2. 设置环境变量:

我的电脑>属性>高级>环境变量>用户变量里面设置几个变量(我把QT装在了D盘中,且使用了它默认的目录):


PATH中增加D:/Qt/2009.03/qt/bin(注意:这个与Qt4.4.3就不一样了,多了一级目录);

创建QMAKESPEC值为 win32-msvc2005,这个值还是根据你要生成的Vs版本,6.0 使用win32-msvc, 2003 使用win32-msvc.net, 2005就是 win32-msvc2005 ;

创建QTDIR值为 D:/Qt/2009.03/qt

 最后为了使的你刚才修改的环境变量生效,重启cmd,可以通过C:/>qmake -v来看你使用的QT版本,应该显示的是Qt4.5.2.

3. 从VC 2005的安装路径找到vsvars32.bat(以你自己的安装目录为准,我的是D:/Program Files/Microsoft Visual Studio 8/Common7/Tools):

运行cmd

C:/> D:

C:/>cd D:/Program Files/Microsoft Visual Studio 8/Common7/Tools
D:/>Program Files/Microsoft Visual Studio 8/Common7/Tools> vsvars32.bat
D:/> cd D:/Qt/2009.03/qt
D:/Qt/2009.03/qt> configure -debug-and-release -platform win32-msvc2005 -opensource -fast -nomake examples -nomake demos

       configure -debug-and-release 参数的意义是告诉QT同时编译为Debug和Release两个版本的库,不指定参数则编译为Debug版本的动态链接库如果安装了多个版本的VS可以加上-platform win32-msvc2005(表示VS2005的),6.0 使用win32-msvc, 2003 使用win32-msvc.net, 2008就是 win32-msvc2008。configure大约需要几分钟,-nomake examples -nomake demos就是不编译例子,值钱我介绍的把这两个目录移走的方法不太好。但是按我的这个configure变异的话,会有问题的,编译不通过,因为我的这是完全编译,我编译了3次才过的,每次到编译webkit的时候就出错,据说这是Qt4.5的bug,但是我从网上找到了解决办法,就是在configure之后先不要nmake,删除D:/Qt/2009.03/qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/mocinclude.tmp文件和D:/Qt/2009.03/qt/src/3rdparty/webkit/WebCore/tmp/moc/release_shared/mocinclude.tmp文件,然后再namke吧,一定成功得,呵呵~

下面是我从网上搜索到的configure的具体参数,供大家编译参考:

  个人认为只需要加个 -fast参数就ok了。其他参数视自己情况而定,比如你不需要qt3支持可以添加-no-qt3support,或者不需要webkit插件 -no-webkit
配置参数选项:
 前面是*号的表示默认参数. +号表示该功能要求被评估,评估成功后才能被接受.
    -release ........... 调试关闭.没有调试库,自己的项目只能发布,不能调试(没有调试库的缘故),如果你硬要编译debug版本的话,会提示找不到xxxxxd.dll 
 *  -debug ............. 只有调试库,没有释放库,也就是说以后自己的项目只能调试,如果你硬要编译debug版本的话,会提示找不到xxxxx.dll
 +  -debug-and-release . 编译后包含两种库。最好编译两种库
    -opensource ........ 编译开源版.
    -commercial ........ 编译商业版.  这两个参数一般不需指定,configure开始需要你选择版本。
    -developer-build ... 编译开发者选项。
 *  -shared ............动态编译.
    -static ............ 静态链接库.貌似有插件不能用静态编译。
 *  -no-fast ........... configure生成所有项目makefiles文件,并编译
    -fast .............. 只生成库目录及子目录下的项目的makefiles文件. 
    -no-exceptions ..... 关闭异常支持
 *  -exceptions ........ 开启异常支持.
    -no-accessibility .. 关闭对windows active控件支持.
 *  -accessibility .....对windows active控件支持.
    -no-stl ............ 无c++标准库支持
 *  -stl ............... 有标准库支持
尖括号在blogger出问题了。。。。。
    -no-sql- ... Disable SQL entirely, by default none are turned on.
    -qt-sql- ... Enable a SQL in the Qt Library.
    -plugin-sql-  Enable SQL as a plugin to be linked to at runtime.
                         Available values for :
                           mysql
                           psql
                           oci
                           odbc
                           tds
                           db2
 +                         sqlite
                           sqlite2
                           ibase
                         (drivers marked with a '+' have been detected as available on this system)
    -system-sqlite ..... Use sqlite from the operating system.
    -no-qt3support ..... 不提供对qt3函数支持
    -no-opengl ......... 不提供OpenGL函数支持
    -platform ... The operating system and compiler you are building on.
                         (default %QMAKESPEC%)
    -xplatform .. The operating system and compiler you are cross compiling to.
                         See the README file for a list of supported operating systems and compilers.
    -qtnamespace Wraps all Qt library code in 'namespace name {...}
    -D ........ Add an explicit define to the preprocessor.
    -I ... Add an explicit include path.
    -L ... Add an explicit library path.
    -l ... Add an explicit library name, residing in a librarypath.
    -graphicssystem Specify which graphicssystem should be used.
                          Available values for :
 *                         raster - Software rasterizer
                           opengl - Using OpenGL accelleration, experimental!
    -help, -h, -? ...... Display this information.
第三方库
    -qt-zlib ........... 使用zlib绑定到qt.
 +  -system-zlib ....... 使用操作系统的zlib
                         见 http://www.gzip.org/zlib
    -no-gif ............ 不编译gif文件读取支持插件
 +  -qt-gif ............ 编译gif文件读取支持插件
                         参见 src/plugins/imageformats/gif/qgifhandler.h
    -no-libpng ......... 不编译PNG支持插件.
    -qt-libpng ......... 编译PNG支持插件.
 +  -system-libpng ..... 使用系统libpng库
                         见 http://www.libpng.org/pub/png
    -no-libmng ......... 不编译MNG支持插件.
    -qt-libmng ......... 编译MNG支持插件.
 +  -system-libmng ..... 使用系统的mng库
                         参见 http://www.libmng.com
    -no-libtiff ........ 不编译tiff支持插件.
    -qt-libtiff ........ 编译tiff支持插件.
 +  -system-libtiff .... 使用系统的libtiff库
                         见 http://www.libtiff.org
    -no-libjpeg ........ 不编译jpeg支持插件库
    -qt-libjpeg ........ 编译jpeg支持插件库
 +  -system-libjpeg .... 使用系统的jpeg支持库
                        见 http://www.ijg.org
以下参数仅对qt for windows有效
    -no-dsp ............ 不生成 VC++ .dsp 文档.
 *  -dsp ...............生成 VC++ .dsp文档, 需要有平台标识符"win32-msvc".注意 qt4开始就不支持vc6.0了所以这两个参数无效。
    -no-vcproj ......... 不生成 VC++ .vcproj 文档
 *  -vcproj ............ 生成 VC++ .vcproj 文档, 需要平台标识符"win32-msvc.net".也就是vs2003以上的编译环境
    -no-incredibuild-xge Do not add IncrediBuild XGE distribution commands to custom build steps.
 +  -incredibuild-xge .. Add IncrediBuild XGE distribution commands to custom build steps. This will distribute MOC and UIC steps, and other custom buildsteps which are added to the INCREDIBUILD_XGE variable.
                         (The IncrediBuild distribution commands are only added to Visual Studio projects)
    -no-plugin-manifests  插件不嵌入manifests.
 *  -plugin-manifests .. 插件嵌入manifests.
    -no-qmake .......... 不编译qmake
 *  -qmake ............. 编译 qmake.   不建议 不编译qmake
    -dont-process ...... 不生成makefiles和project文档. 比 -no-fast 参数优先级更高
 *  -process ........... 生成makefiles和project文档.
    -no-rtti ........... 不编译运行时类型信息。
 *  -rtti .............. 编译运行时类型信息。
//下面是对指令的支持,不解释了
    -no-mmx ............ Do not compile with use of MMX instructions
 +  -mmx ............... Compile with use of MMX instructions
    -no-3dnow .......... Do not compile
with use of 3DNOW instructions
 +  -3dnow ............. Compile with use of 3DNOW instructions
    -no-sse ............ Do not compile with use of SSE instructions
 +  -sse ............... Compile with use of SSE instructions
    -no-sse2 ........... Do not compile with use of SSE2 instructions
 +  -sse2 .............. Compile with use of SSE2 instructions
 +  -direct3d ..........  将Direct3D支持编译进来。检测不到direct3d sdk 就不支持
    -no-openssl ........ Do not compile in OpenSSL support
 +  -openssl ........... Compile in run-time OpenSSL support
    -openssl-linked .... Compile in linked OpenSSL support
    -no-dbus ........... Do not compile in D-Bus support
 +  -dbus .............. Compile in D-Bus support and load libdbus-1 dynamically
    -dbus-linked ....... Compile in D-Bus support and link to libdbus-1
    -no-phonon ......... 不将 Phonon 模块 编译进来
 +  -phonon ............ 将 Phonon 模块编译进来  (若使用的规范的c++编译器则会自动编译Phonon模块)
    -no-phonon-backend . Do not compile the platform-specific Phonon backend-plu
gin
 *  -phonon-backend .... Compile in the platform-specific Phonon backend-plugin
    -no-webkit ......... 不将webkit模块编译进来,编译webkit非常耗时间。
 +  -webkit ............ 将webkit模块编译进来 (若使用的规范的c++编译器则会自动编译WebKit模块)
    -no-scripttools .... Do not build the QtScriptTools module.
 *  -scripttools ....... Build the QtScriptTools module.
    -arch ....... 外观样式.
                        有以下几种 :
 *                         windows
                           windowsce
                           boundschecker
                           generic
    -no-style-尖括号里包含上面的样式。

4.完成了configure后就可以接着运行:

  D:/Qt/2009.03/qt> nmake

  漫长的等待吧,该干什么干什么去吧,我大概花了4个半小时,呵呵,我是完全编译的,中间会出现一些warning,无关紧要的,呵呵~

5.最后编译完成后运行nmake confclean命令清除编译过程中的临时文件,以节省空间,大概是770M左右;


6. 将Qt路径添加到VC编译环境中,工具->选项->项目和解决方案->VC++目录,在包含文件一栏添加:

D:/Qt/2009.03/qt/include/QtGui;

D:/Qt/2009.03/qt/include/QtCore;

D:/Qt/2009.03/qt/include,

在库文件一栏添加D:/Qt/2009.03/qt/lib;

  到这里就介绍完了,祝大家编译成功哈,后续我会接着讲QT的东西,不过可能OpenGL的多点,呵呵,因为我正在学习它~。

  另外补充一点如果你用Qt Creater开发的话,工程的目录中不能有汉字,否则会编译出错的,还有就是有个集成Qt到VS的插件,那个插件目前只支持英文的VS2005,中文的会在启动VS2005时出错的!

测试是否成功打开VC 新建项目设置项目属性 配置属性->C/C++->常规->附加包含目录:D:/qt451/ static/include 配置属性->C/C++->代码生成->运行时库:多线程调试(/MTd),这 条依据你当时修改qmake.conf的情况决定配置属性->链接器->常规->附加库目录:d:/qt451/static/ lib 配置属性->链接器->输入->附加依赖项:qtmaind.lib QtCored4.lib QtGuid4.lib,如果要编译Release,把后面的d去掉。 代码: #include int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { QApplication app(__argc, __argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); } 注:如果编译的是动态库,那么要把QT成品里的bin目录加入path系统变量,或者把这里用到的DLL复制到与你的程序相同的目录里,一般是 QtCore4.dll和QtGui4.dll(Debug版为QtCored4.dll和QtGuid4.dll),依你使用的子库而定

 

 

 

 

1.从这里下载一个Qt的版本。http://www.qtsoftware.com/downloads

2.将全部文件解压到一个目录中,使用如下批处理:

rem 设置vs的环境变量
set oldpath=%path%
set path="C:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools";"D:/Qt/4.4.3/bin";%path%
call vsvars32.bat
REM ~ nmake confclean
configure -platform win32-msvc2008 -static 
nmake
set path=%oldpath% 

我目前使用的是VS2008 Express,请根据个人的环境进行相应的修正。

这个过程比较长,在我的电脑上有二个多小时。

3.现在将可以使用你的Qt啦,到Bin目录下运行一下,QtDemo真炫呀。

使用Examples下的例子测试一下吧,有相应的SLN文件,可使用你的VS打开。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值