Qt平台的搭建总结
最近在Qt平台做了个升级程序界面,搭建平台费了一番力气,现把搭建Qt平台的过程,遇到的问题和解决方法,做个总结。
了解安装版本
???? qt是跨平台应用程序和UI开发框架,只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。这是官网上说的,但在实际开发中,qt3和qt4版本调用的数据库API函数还是很不同的。所以要明确你所生成的程序要在哪个平台上运行,此平台支持哪个版本的qt,下面就说下平台所支持的Qt版本。
在Linux系统里,桌面环境分为KDE和gnome两种,KDE是用QT开发的,GNOME是用GTK开发的。
centos5版本默认支持qt3生成的程序,而ubuntu11.10版本支持qt4生成的程序,所以如果你的程序要在centos5版本运行,那么只能用qt3编写程序。qt3不支持qt creator(IDE)。
?
下载安装Qt
??? (一)下载
?
??????? Qt已经被nokia收购,所以下载Qt的最新版本可到官网:http://qt.nokia.com/downloads,
??????? 官网下载界面分为四部分,1.为QtSDK下载,2.为QtLibrary,3.为QtCreator(IDE)4.为其他工具
?
??????? 或者到ft网站下载:ftp://ftp.trolltech.com/qtsdk/
??????? 里面的Qt_SDK对应官网1的内容,而带opensource的对于官网2的内容。
?
??? (二)安装
?
??????? 1.用QtLibrary安装
??????????? 如果想用纯源代码编写而不用qt creator(IDE)辅助工具,那么可以直接下载QtLibrary安装(注:qt3不支持? qt creator,所以想用qt3编程,只能下载qt3的Library,且只能用此方法)
?
?????????? ?解压缩 :tar xvfz qt-......tar.gz
?
??????????? 生成mkefile文件
?? ? ?????????? ./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' 接受许可协议。
??????????????? 开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。
???????????? 出错信息 :
??????????????? (1)提示找不到g++
?????????????????????? ?UBUNTU:sudo apt-get install build-essential
??????????????????????? centos: sudo yum install gcc-c++
??????????????? (2)错误是Basic XLib functionality test failed!?? (需要安装libX11的开发包)
??????????????????????? UBUNTU:sudo apt-get install libX11-dev libXext-dev libXtst-dev
??????????????????????? centos: sudo yum install libX*
?
???????? ?Qt 编译
??????????????? gmake
??????????????? 这个过程时间比较长,需要两个小时左右。
????????? Qt 安装
?????????????? ?运行 gmake install
??????????????? 默认安装至 /usr/local/Trolltech/Qt-4.5.3
?????????????? ?大约 5 - 10 分钟。正常结束,安装完毕。
??????????????? 运行 /usr/local/Trolltech/Qt-4.5.3/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。
?
?
?
??????? 2.用QtSDK安装
??????????? 如果用qt4,可以直接下载QtSDK,运行Qt creator编程
??????????? 更改文件权限,安装
??? (三)设置环境变量(无论用哪种方法都有设置)
?
????????一.先修改用户环境变量
??????? vi /home/defonds/.bashrc
??????? 在其最后添加以下信息
??????? export QTDIR=/usr/local/Trolltech/Qt-4.5.3
??????? export PATH=$QTDIR/bin:$PATH
??????? export MANPATH=$QTDIR/man:$MANPATH
??????? export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
??????? 二.再修改所有用户环境变量
??????? vi /etc/profile
??????? 在其最后添加以下信息
??????? export QTDIR=/usr/local/Trolltech/Qt-4.5.3
??????? export PATH=$QTDIR/bin:$PATH
??????? export MANPATH=$QTDIR/man:$MANPATH
??????? export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
??????? 三。测试一下
??????? 重新开一个终端,输入命令:
??????? qmake -v
??????? 输出结果:
??????? QMake version 2.01a
??????? Using Qt version 4.5.3 in /usr/local/Trolltech/Qt-4.5.3/lib
??????? 输入命令:
??????? which qmake
??????? 输出结果:
??????? /usr/local/Trolltech/Qt-4.5.3/bin/qmake
??????? 证明 Qt 环境变量已经被配置成功。
?
编译
?
如果用Qt creator可直接在IDE环境下编译,比较方便;如果纯源码编写,编译过程如下:
编写hello.cpp
??????? 在 hello.cpp 所在目录下,运行命令
??????? qmake -project
??????? hello.cpp 同目录下有 hello.pro 文件被生成,它是与平台无关的工程文件。
??????? 在 hello.cpp 所在目录下,运行命令
??????? qmake hello.pro
??????? 同目录下有 Makefile 文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。
??????? 在 hello.cpp 所在目录下,运行命令
??????? make
??????? 同目录下有 hello,hello.o 两个文件被编译生成。其中 hello 就是在当前 Linux 系统下使用 Qt 编译生成的可执行文件了。双击运行 hello,或运行命令
??????? ./hello
??????? 即可执行程序。
?