最近在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
即可执行程序。