《qt编译和环境配置总结》由会员分享,可在线阅读,更多相关《qt编译和环境配置总结(8页珍藏版)》请在金锄头文库上搜索。
1、Qt 编译和环境配置(2011/7/10 整理)1、 windows 下编译 .11.1、动态编译 .11.2、静态编译 .51.3、 64 位下编译 .52、 Red Hat Enterprise Linux 5 64-bit 安装 qt4.6.2.62.1 带开发环境完整安装,不需重新编译 .62.2 源码安装 .6Qt 各版本下载地址:http:/www.qtcn.org/bbs/read.php?tid=1075已经下载到100.0.2.161embtesttoolsQT 目录下。1、windows 下编译本文以 Qt4.6.2 源码为例,介绍在 Visual Studio 2005
2、里集成 qt4.6 开发环境步骤。1.1、动态编译(1 )安装 qt下载 Windows 版本的源代码后直接进行安装,安装好后,记得把 Qt 的路径添加到系统的环境变量 path 里:C:Qt4.6.2bin(2 )在 Visual Studio 2005 里编译 Qt 的源代码在 Windows 下,我们自然希望 QT 能配合 Visual Studio 来使用,这个时候需要用 VC+ 重新编译一下 Qt 的源代码。这里以 Visual Studio 2005 为例,介绍一下编译 Qt4 的基本方法。(2.1 )运行 Visual Studio 2005 的 vsvars32.bat 脚本来
3、为 VC+ 2005 编译器配置系统的环境变量:C:C:Program FilesMicrosoft Visual Studio 8Common7Toolsvsvars32.bat如果执行下面的步骤 2.2,应该不需要设置环境变量。(2.2 )编译源代码通过系统的“开始” 菜单,按下面的顺序找到一个属于 VC+ 的 cmd 命令行:Start = All Programs = Visual Studio 2005 = Visual Studio Tools = Visual Studio Command Prompt在 cmd 里跳到 Qt 所在的源代码目录cd C:Qt4.6.2然后用下面的
4、命令来进行编译:C:Qt4.6.2configureC:Qt4.6.2nmake运行 configure 命令的时候会提示确认使用协议,照做就好了。整个编译过程要很长的时间,慢慢等吧。完成后有很多编译过程中产生的垃圾需要清理,运行一下命令:C:Qt4.6.2nmake clean说明:在运行 configure 的过程中有很多参数可以选择以加开加快编译时间和减少编译后的空间,如:configure -platform win32-msvc2005 -nomake examples -nomake docs -nomake demo -no-qt3support将不再编译 examples、do
5、cs 和 demo 下的内容,并禁用 qt3 支持模块。更多参数含义请运行 configure h 查找详细帮助详细(3 )配置环境变量PATH C:Qt4.6.2binQMAKESPEC win32-msvc2005QTDIR C:Qt4.6.2(4 )安装 Visual Studio 的插件在网上下载 qt-vs-addin-1.1.5.exe,安装之。安装成功后 Visual Studio 将出现“Qt”菜单,点击“Qt”选择“Qt Options”检查路径配置是否正确。(5 )编写 Hello World 测试用例现在我们来编写一个 Hello World 的程序来测试一下 Qt 能否
6、在 Visual Studio 2005 里编译。启动一个新的工程,选择 Qt4 Projects - Qt Application 类型,输入工程名字 QTVSTest,单击 OK。QTVSTest Step1然后一步一步 Next,用默认值就 OK 了。QTVSTest Step2QTVSTest Step3QTVSTest Step42) 现在我们把 Hello World 的代码放到 main.cpp 里,代码如下:#include qtvstest.h#include #include #include int main(int argc, char *argv) QApplicat
7、ion app(argc, argv);QPushButton hello(Hello world!);hello.show();return app.exec();现在就可以编译一把并运行了,一切顺序的话,你就能看到 Hello World 的程序界面。1.2、静态编译Qt 默认情况下都是动态编译。静态编译又分两个层次:不依赖 QtCore4.dll、QtGui4.dll 等 Qt 的静态库不依赖 msvcr90.dll、msvcp90.dll 等 C、C+ 的运行库,这个一般不需要。静态编译过程和静态编译相似,只是运行 configure 时需要指定-static 选项,如果只是不想发布程
8、序时发布 Qt 的动态库,这个已经完成了。但是,它们仍依赖 C、C+ 的运行库。如果还想去除该依赖,需要在静态编译 Qt 之前手动修改%QTDIR%/mkspecs/win32-msvc2005 目录下的配置文件 qmake.conf 将下面两行:QMAKE_CFLAGS_RELEASE = -O2 -MDQMAKE_CFLAGS_DEBUG = -Zi -MDd修改为:QMAKE_CFLAGS_RELEASE = -O2 -MTQMAKE_CFLAGS_DEBUG = -Zi -MTd(D 是指 dynamic,T 是指 static,d 是指 debug)1.3、 64 位下编译Qt 在
9、64 位 windows 下的动态和静态编译可参照上面过程,唯一需要修改的是将通过系统的“开始” 菜单,按下面的顺序找到一个属于 VC+ 的 cmd 命令行改为:Start = All Programs = Visual Studio 2005 = Visual Studio Tools = Visual Studio 2005 x64 Win64 Command Prompt需要说明在 qt-vs-addin 中的配置:在 Qt Options 菜单中设置 Win32 和 Win64 不同的 QT 版本。在 QT 项目设置中,为 Win32 和 Win64 平台选择不同的 QT 版本。在系统
10、环境变量中,也设置 QT64 位的 bin 目录,为了使 64 位程序能够运行。2、Red Hat Enterprise Linux 5 64-bit 安装 qt4.6.22.1 带开发环境完整安装,不需重新编译将 qt-sdk-linux-x86_64-opensource-2010.02.bin 拷贝到一个目录,点击进行安装即可,安装完成修改环境变量输入命令:vi /etc/profile在其最后添加以下信息export QTDIR=(刚才安装的路径)export PATH=$QTDIR/bin:$PATHexport MANPATH=$QTDIR/man:$MANPATHexport L
11、D_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH若将配置文件生效可重启机器或命令行输入 source /etc/profile(建议重启)2.2 源码安装1.先把 qt 压缩包复制到/usr/local 目录下吧命令:cp qt-everywhere-opensource-src-4.6.2.tar.gz /usr/local2.跳到/usr/local 目录下:cd /usr/local3.解压压缩包:tar zvxf qt-everywhere-opensource-src-4.6.2.tar.gz4.进入解压之后的文件夹中去:cd qt-everywh
12、ere-opensource-src-4.6.2.tar.gz5.生成 Makefile 文件:输入命令:./configure这个时候他会问你:“Which edition of Qt do you want to use?”然后给你两个类型供选择:Type c if you want to use the Commercial Edition.Type o if you want to use the Open Source Edition.第一个是商业版,第二个是自由版。选择 o(Qt/嵌入式自由版是 Qt 为了开发自由软件提供的嵌入式版本) 。这时候,出现许可界面。选择 yes 接受许
13、可协议。开始生成 Makefile 文件。这个大约需要 5 -10 分钟的时间。6.Qt 编译:输入命令:gmake7.Qt 安装:输入命令:gmake install默认安装至 /usr/local/Trolltech/Qt-4.7.2大约 5 10 分钟。正常结束,安装完毕。运行 /usr/local/Trolltech/Qt-4.7.2/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。8. 修改环境变量输入命令:vi /etc/profile在其最后添加以下信息export QTDIR=(刚才安装的路径)export PATH=$QTDIR/bin:$PATHexport MANPATH=$QTDIR/man:$MANPATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH更新 fontconfig说明:因 Red Hat 5 字体库太老,运行程序链接时会出现:/qtsdk-2010.02/qt/lib/libQtGui.so: undefined reference to FcFreeTypeQueryFace 的错误,需要更新字体库:首先安装 freetyp