您的位置:首页 > 编程语言 > Qt开发

安装与建立 Qt 桌面开发运行环境

2007-04-06 18:58 471 查看
1.下载Qt
在TrollTech网站http://www.trolltech.com/developer/ 上搜索下载Qt的相关包,包括
qt-embedded-free-3.3.4.tar.gz
qt-x11-opensource-src-4.2.3.tar.gz
tmake-1.8.tar.gz #可以不要,因为有现在这些高版本的qt-embedded,qt-x11,qtopia里就有qmake
这些都是最新的Qt版本,编译过程好像跟查资料时的老版本的步骤有很大的不同,比如新版本使用qmake而不像以前使用tmake,还有configure脚本文件配置时的参数有许多变化,编译时没有什么资料可以查,除了trolltech本身的一些文档,剩下的只好自己摸索了。

2.安装与编译
假设我把这些包都放在 /root/qt 下
解压qt-x11-opensource-src-4.2.3.tar.gz
tar vxzf qt-x11-opensource-src-4.2.3.tar.gz
export QT2DIR=$PWD/qt-x11-opensource-src-4.2.3 #设置一下环境变量
解压qt-embedded-free-3.3.4.tar.gz
tar vxzf qt-embedded-free-3.3.4.tar.gz
export QTEDIR=$PWD/qt-embedded-free-3.3.4
解压tmake-1.8.tar.gz #后来发觉一开始 tmake是没用的因为 2.0以上大版本有了qmake,不过开发的时候可以选择用的,比较方便。
export TMAKEDIR=$PWD/tmake-1.8

然后就是编译了。
开始发现老是要设置环境变量,所以我专门各编辑一个脚本文件对 qt-x11-opensource-src-4.2.3和 qt-embedded-free-3.3.4进行编译,分别放在各自的目录中。
编译 qt-x11-opensource-src-4.2.3 时脚本为:
#------------------------------------------------------------------------------------
#!/bin/sh
export QT2DIR=/root/qt/qt-x11-opensource-src-4.2.3
export QTEDIR=/root/qt/qt-embedded-free-3.3.4
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -prefix-install -opengl #其实这里应该还可以设置更多多的选项,比如去掉一些支持,
#可以缩短编译时间,因为这个工程编译完要用几个小时啊!
#因为我需要的opengl的支持,所以选择了这个选项。
#其他的可以通过./configure --help 命令研究一下。
make
#------------------------------------------------------------------------------------
然后就可以干其他的事情了,编译时超痛苦,那个多文件阿,用了一上午才搞定,所以这时你可以尽情去玩一下了。
编译好之后还要去qt-x11-opensource-src-4.2.3/tools/qvfb编译 qvfb工具(这个工具编译qt-embedded有用),make一下就可以了。
然后就编译 qt-embedded-free-3.3.4,下面是的脚本:
#------------------------------------------------------------------------------------
#!/bin/sh
export QT2DIR=/root/qt-x11-opensource-src-4.2.3
export QTEDIR=/root/qt-embedded-free-3.3.4
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cp $QT2DIR/bin/uic $QTEDIR/bin/ #下面这两个工具编译时要使用
cp $QT2DIR/bin/qvfb $QTEDIR/bin/
./configure -qconfig qpe -qvfb -depths 4,8,16,32
make
#------------------------------------------------------------------------------------

又是好长一段编译时间,大概一个小时左右。

3.在virtual framebuffer里运行程序
编译好后就可以尝试编译 运行examples/ 的例程了,但是编译这些例子的时候有个很奇怪的错误:
Some of the required modules (large-config) are not available
网上查了一下,幸亏查到了仅有一个提问,而且有人决绝了, 说要修改每个例子下的.pro文件,把 requires = large-config 这一行注释掉,但这一行原来真正有什么用,去掉后会有什么影响,我不得而知,不过编译后还是可以在virtual framebuffer上运行的。
编译好例子后就可以运行了,一开始运行例子的时候总会有一个错误:/usr/lib/qt-3.3/lib/fonts/fontdir 没找到什么的,我就奇怪了,我的qt并没有安装在这个目录的(按照上面的脚本文件),查看一下环境变量,居然有一个QTDIR非临时变量(在多个shell中都会显示的,应该在配置文件写死的)指向了这个目录,再进这个目录查看一下文件的日期,都是很久之前的,绝不是刚刚编译的,才知道这个是操作系统自带的qt。于是每次运行时qt程序时需要用export把QTDIR改掉,改成 $QTEDIR 同时也把 $QTEDIR/bin 添加到 PATH 中,因为 要用这个目录下的qvfb程序是 qt程序运行在virtual framebuffer上,运行时执行:
qvfb -width 640 -height 480 &
sleep 10 #不知道这个有什么用?不过好像可以使qvfb在后台运行
./launcher -qws #launcher是examples的一个例子
如果成功的话qt程序就会运行在qvfb的界面里。

4.编写自己的qt程序
下面可以自己编写自己的程序了。
先设置一下环境变量,我这个系统比较郁闷,有老的qt,所以好把QTDIR设置成新编译都目录,覆盖原来的,这个很重要,否则无法通过编译,这个弄了我一个晚上才发现。
首先修改环境变量
#------------------------------------------------------------------------------------
export QTDIR=/root/qt-embedded-free-3.3.4 #把老的qt覆盖
export PATH=/root/qt-embedded-free-3.3.4/bin:$PATH #要使用qmake程序
#------------------------------------------------------------------------------------
我编写了以下代码,hello.cpp,并把这个文件保存在名为hello的目录下
#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char **argv)
{
QApplication app (argc, argv);
QLabel *hello = new QLabel("<h2><fontcolor=blue>Hello<i>Qt/Embedded!</i> </font> </h2>", 0);
app.setMainWidget(hello);
hello->show();
return app.exec();
}
进入hello目录,生成.pro文件
qmake -project
也可以用tmake-1.8/bin下的progen工具生成.pro文件,tmake其中的一个使用就是这里了,不过要把tmake-1.8/bin的完整路径加入到环境变量PATH中
修改hello.pro文件为
#------------------------------------------------------------------------------------
TEMPLATE = app
TARGET = hello
CONFIG = qt warn_on release
DEPENDPATH = /root/qt-embedded-free-3.3.4/include
HEADERS =
SOURCES = hello.cpp
INTERFACES =
#------------------------------------------------------------------------------------
生成Makefile
qmake -o Makefile hello.pro
或者用tmake -o Makefile hello.pro
然后
make
就可以了
qvfb -width 320 -height 240 &
sleep 10
./hello -qws
大功告成,你可以欣赏自己的Qt程序了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: