虽然QT
有各种开发包,但是自己使用的话还是要自己编译一下的,因为开发包的编译环境未必跟你的需求一致,例如QT4.7.1
有VS2008
的包,虽然在VS2010
下也可以使用,但是总是有些问题,还是自己编译一次的好。这个文档我参考了很多其他人的文档,由于我偷懒就不在把这些人的链接给加上上了,在这里先说声抱歉了。“人人为我,我为人人,如有雷同,一定抄袭” 既然QT
都使用了自己的编译版本,那么QT Creator
也是要编译一下的,就不要使用它QT
已经编译好的版本。对于QT
下使用的一些工具(jom
),也最好自己编译后再使用,我的使用环境是 Windows 7 64
位企业版,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)
】,俺没有使用64
位那个,明显不太靠谱,就没有试了,(主要是俺的机器太烂,编译一次时间太长)虽然有linux
下的64
位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/q
t-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\translations
目录下有qtcreator_zh_CN.ts
文件,使用qt
下的linguist
工具,编译一下这个文件,得到qtcreator_zh_CN.qm
,把这个文件拷贝到qtc\share\qtcreator\translations
的目录下就可以了。 其它一些说明: 如果是直接使用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
下就需要自己去设置了。 [ 此帖被listlike在2011-01-23 22:38重新编辑 ]