在VS2010下编译QT4.7.1和QT Creator

   虽然QT有各种开发包,但是自己使用的话还是要自己编译一下的,因为开发包的编译环境未必跟你的需求一致,例如QT4.7.1VS2008的包,虽然在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编译过程中就是致命的。最好的解决办法就是吧windowTEMP目录设置在根目录下我就是设置在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 加入到PATHOK了。
打开qt4 安装目录mkspecs\default,目录下编辑qmake.conf,到最后一行,改成QMAKESPEC_ORIGINAL=C:/Qt/4.7.1/mkspecs/win32-msvc2010,就好了。
   一切正常的话,编译好的QTDesignerhelp等一些工具都是中文的。
  
下来开始编译QT Creator

    1 下载安装32Debugging Tools for Windows (x86),如果不先装这个 creator编译的时候会不编译cdb的包,这样最后编译成的Creatordebug设置会没有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了。跟javaget/ set方法很像。
        
   4 运行qtcreator debuger->cdb下,可以发现已经找到DebuggingTools for Windows ,然后debug path设置上 qt4的目录就可以了 symbol paths C:\4.7.1\libsource paths C:\qt-everywhere-opensource-src-4.7.1\srcC:\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-8QT Creator中可以通过编写pro文件来引入代码库,在VS下就需要自己去设置了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值