视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
VS2010编译QT
2025-10-05 10:10:06 责编:小OO
文档
http://www.qtcn.org/bbs/read.php?tid=34036

虽然QT有各种开发包,但是自己使用的话还是要自己编译一下的,因为开发包的编译环境未必跟你的需求一致,例如QT4.7.1有VS2008的包,虽然在VS2010下也可以使用,但是总是有些问题,还是自己编译一次的好。这个文档我参考了很多其他人的文档,由于我偷懒就不在把这些人的链接给加上上了,在这里先说声抱歉了。“人人为我,我为人人,如有雷同,一定抄袭”

既然QT都使用了自己的编译版本,那么QT Creator 也是要编译一下的,就不要使用它QT已经编译好的版本。对于QT下使用的一些工具(jom),也最好自己编译后再使用,我的使用环境是 Windows 7 位企业版,VS2010 中文专业版。

QT作为linux下开发的系统,虽然现在也在兼容windows,但是也有一些问题,在编译过程中碰到的最大的问题是目录名的问题,QT本身不支持汉语目录名和带空格的目录名,就算源程序和编译目录满足这个条件,然而QT在编译过程中,会大量使用TEMP文件,Window 7系统的TEMP目录在C:\\Users\\[用户名]\\AppData\\Local\\Temp下,如果当前用户是中文的名,在QT编译过程中就是致命的。最好的解决办法就是吧window的TEMP目录设置在根目录下我就是设置在C:\\TEMP 。(Windows下设置用户的环境变量,把里面的TEMP 和TMP 全部设置成C:\\TEMP)

QT编译过程会使用比较大的硬盘空间,大约占有5-6G。

编译QT 4.7.1过程:

1 安装好VS2010 ,下载好qt-everywhere-opensource-src-4.7.1.zip解压到相应的目录。配置好临时目录。

2 建立好4.7.1的安装目录,C:/QT/4.7.1,运行【VisualStudio 命令提示(2010)】,俺没有使用位那个,明显不太靠谱,就没有试了,(主要是俺的机器太烂,编译一次时间太长)虽然有linux下的 位QT。

在qt-everywhere-opensource-src-4.7.1目录下 运行。

configure-opensource -developer-build -platform win32-msvc2010 ^

-shared-debug-and-release -fast -no-qt3support ^

-plugin-sql-sqlite-plugin-sql-odbc ^

-qt-zlib-qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg ^

-phonon-webkit -prefix C:/QT/4.7.1

-prefix指定的就是安装目录

-platform选择编译平台

-shared-static 就是选择编译静态版

-debug-and-release编译目标 这个是 debug 和 release都编译

-no-qt3support虽然新开发QT的不会使用到QT3,一般情况下还是选上吧,因为难免有些需要编译的QT工具需要它。

其它的选项就是选择编译什么QT安装包

-nomakeexamples -nomake docs -nomake

demos 就是是不是编译文档 和 例子,编译例子的时间很长,一般可以不编译。

如果编译过程需要使用第三方的包,可以用 -I 和-L 来增加。

静态版

configure -opensource -developer-build-platform win32-msvc2010 ^

-static-release -fast -no-qt3support ^

-plugin-sql-sqlite-plugin-sql-odbc ^

-qt-zlib-qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg ^

-phonon-webkit -prefix C:/QT/4.7.1/static ^

-nomakeexamples -nomake docs -nomake demos

3 运行完configure后运行

namke

nmake install

找不到win32-msvc2010,把qt-everywhere-opensource-src-4.7.1\\mkspecs目录拷贝的安装目录就可以了。

如果你觉得占用空间太大了,运行一下nmake clean,就把编译过程中的中间文件给删除了。

4 编译安装完了以后 设置好 QTDIR的环境变量,还有吧%QTDIR%/bin 加入到PATH就OK了。

打开qt4 安装目录到mkspecs\\default,目录下编辑qmake.conf,到最后一行,改成QMAKESPEC_ORIGINAL=C:/Qt/4.7.1/mkspecs/win32-msvc2010,就好了。

一切正常的话,编译好的QTDesigner、help等一些工具都是中文的。

下来开始编译QT Creator

1 下载安装32位Debugging Tools for Windows (x86),如果不先装这个 creator编译的时候会不编译cdb的包,这样最后编译成的Creator的debug设置会没有cdb这个设置页了。

2 下载qt-creator-2.0.1-src.zip源代码,解压到qt-creator-2.0.1-src目录

3 建立安装目录,(俺的是C:\\Qt\\qtc),运行【Visual Studio 命令提示(2010)】,在安装目录下,(C:\\Qt\\qtc)输入命令。

qmakeCONFIG+=release “QT_PRIVATE_HEADERS=C:/QT/qt-everywhere-opensource-src-4.7.1/include” C:\\Qt\\qtc

nmake

nmakeINSTALL_ROOT=”C:\\Qt\\qtx” install

输入参数的时候注意/和\\,QT是不认\\的。

在nmake的过程中有可能会出现一些错误,按照下面的介绍做完,继续nmake,直到成功。

a: 编译一些安装包的时候会有找不到标识名的链接错误,在相应的安装包的源程序下,找到pro文件,把需要的QT 包的名字给加上就可以。例如:

QT += core /

webkit

b: 有时候会碰见语法错误什么的,qmlpropertychangesnodeinstance.cpp文件报 左值什么的语法错误,检查后发现是源程序按照QT的类属性的方法来使用,但是它所引用的H文件却没有这么定义,改成C++的方式后,就OK了。跟java的get/ set方法很像。

4 运行qtcreator 在debuger->cdb下,可以发现已经找到DebuggingTools for Windows ,然后debug path设置上 qt4的目录就可以了 symbol paths: C:\\4.7.1\\lib

,source paths :C:\\qt-everywhere-opensource-src-4.7.1\\src,C:\\4.7.1\\include

5 关于jom,开始会报找不到jom的错误,去QT网站上下个jom源程序,编译一下,把jom.exe拷贝到qtc\\bin目录下就可以。我个人感觉VC2010的编译器的多线程支持也不错,没有必要使用jom,在projects 设置下,把使用jom的选项给勾了就可以了,这样也不必下载使用jom了,creator会直接使用nmake。

6 中文支持,creator默认没有中文,在qt-creator-2.0.1-src\\share\\qtcreator\ranslations目录下有qtcreator_zh_CN.ts文件,使用qt下的linguist工具,编译一下这个文件,得到qtcreator_zh_CN.qm,把这个文件拷贝到qtc\\share\\qtcreator\ranslations的目录下就可以了。

其它一些说明:

如果是直接使用qt网站上的VS2008的安装包,那么qtcreator不会显示中文,2008它下面的工具也不会是中文,找到2008安装目录下translations目录,编译一下这个工程就可以显示中文了。(【Visual Studio 命令提示(2010)】-> translations目录->qmake-> nmake)

虽然VS2010可以使用Qt VisualStudio Add-in,但是由于这个是免费版,在界面设计和代码之间的转换没有QT Creator 方便,我个人的方法是在QT Creator把界面画好,把信号/槽弄好,然后在VS2010下编写代码。使用前注意把QT Creator的编辑器设置成UTF-8。QT Creator中可以通过编写pro文件来引入代码库,在VS下就需要自己去设置了下载本文

显示全文
专题