红联Linux门户
Linux帮助

Qt/Embedded开发环境建立的过程

发布时间:2006-08-20 16:16:01来源:红联作者:smallwl
(这些软件可以免费从trolltech的WEB或FTP服务器上下载)
◆ tmake 1.11 或更高版本; (生成Qt/Embedded应用工程的Makefile文件)
◆ Qt/Embedded 2.3.7 (Qt/Embedded 安装包)
◆ Qt 2.3.2 for X11; (Qt的X11版的安装包, 它将产生x11开发环境所需要的两个工具)
1、安装tmake
在Linux 命令模式下运行以下命令:
tar xfz tmake-1.11.tar.gz
export TMAKEDIR=$PWD/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export PATH=$TMAKEDIR/bin:$PATH
2. 安装Qt/Embedded 2.3.7
在Linux 命令模式下运行以下命令:
tar xfz qt-embedded-2.3.7.tar.gz
cd qt-2.3.7
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -qconfig -qvfb -depths 4,8,16,32
make sub-src
cd ..
上述命令 ./configure -qconfig -qvfb -depths 4,8,16,32 指定Qt 嵌入式开发包生
成虚拟缓冲帧工具qvfb,并支持4,8,16,32 位的显示颜色深度。另外我们也可以在
configure 的参数中添加-system-jpeg 和gif,使Qt/Embedded 平台能支持jpeg、gif
格式的图形。
上述命令 make sub-src 指定按精简方式编译开发包,也就是说有些Qt 类未被编
译。Qt 嵌入式开发包有5 种编译范围的选项,使用这些选项,可控制Qt 生成的库文件的大
小,但是您的应用所使用到的一些Qt 类将可能因此在Qt 的库中找不到链接。编译选项的具
体用法可运行./configure -help 命令查看。
3. 安装Qt/X11 2.3.2
在Linux 命令模式下运行以下命令:
tar xfz qt-x11-2.3.2.tar.gz
cd qt-2.3.2
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -no-opengl
make
make -C tools/qvfb
mv tools/qvfb/qvfb bin
cp bin/uic $QTEDIR/bin
cd ..
根据开发者本身的开发环境,也可以在configure 的参数中添加别的参数,比如
-no-opengl 或-no-xfs,可以键入./configure -help 来获得一些帮助信息。
如果Qt/Embedded 的应用是在UNIX 平台下开发的话,那么它就可以在开发的机器
上以一个独立的控制台或者虚拟缓冲帧的方式来运行,对于后者来说,其实是有一个X11
的应用程序虚拟了一个缓冲帧。通过指定显示设备的宽度,高度和颜色深度,虚拟出来
的缓冲帧将和物理的显示设备在每个像素上保持一致。这样每次调试应用时开发人员就
不用总是刷新嵌入式设备的FLASH 存储空间,从而加速了应用的编译、链接和运行周期。
运行Qt 的虚拟缓冲帧工具的方法是:在Linux 的图形模式下运行命令:
qvfb (回车)
当Qt 嵌入式的应用程序要把显示结果输出到虚拟缓冲帧时,我们在命令行运行这
个程序时,在程序名后加上-qws 的选项。例如: $> hello -qws

一,QT/E的安装。
在本机中安装了包括QT4.0.1(WINDOWS版本)以及QT/E2。3。7(LINUX版本)。
QT/E我安装在我的虚拟机中。因为QT/E2.3.7的版本问题,其适宜在REDHAT9。0版本(或更低版本)下安装,否则安装不成功。
QT/E安装过程复杂,具体细节可以参考下面这篇文章。《Qt/Embedded开发环境建立的过程》
此文在网上可搜索到。

本机下虚拟机中QT/E安装路径为:/home/wangxl/QTE/qt-2.3.7
QT/X11安装路径为:/home/wangxl/QTE/qt-2.3.2
Tmake安装路径为:/home/wangxl/QTE/Tmake-1.8

QT/E下载地址为:ftp://ftp.rediris.es/mirror/Qt/source/
Tmake下载地址为:ftp://ftp.trolltech.com/freebies/tmake/

二.QT与QT/E以及QT3与QT4之间的区别
相对来说QT与QT/E的语法一样,所不同之处在库类大小或者库类函数大小不同而已。QT/E相对于QT来说,不具有少数类或者少数函数的支持。具体QT/E是否包含某个类或者包含某个类中的函数,我的方法是在QT/E安装目录下的include文件夹中去查找。
QT3和QT4有很多不同点,主要不同也是在于库类以及支持函数有所变化,比如,有些QT3中的函数,在QT4中被其他函数名所代替,因此很多QT4程序在QT3环境下无法执行。QT/E2.3.7与QT3基本相同,除了我前面提到的QT与QT/E的差别。

三.QT/E编译与执行。
1.在QT/E编译与执行前要先设置TMAKE与QT/E LIB环境,具体方法如下:
[root@localhost tmake-1.8]# export TMAKEDIR=$PWD
[root@localhost tmake-1.8]# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
[root@localhost tmake-1.8]# export PATH=$TMAKEDIR/bin:$PATH
[root@localhost qt-2.3.7]# export QTDIR=$PWD
[root@localhost qt-2.3.7]#export QTEDIR=$QTDIR
[root@localhost qt-2.3.7]#export PATH=$QTDIR/bin:$PATH
[root@localhost qt-2.3.7]#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

2.如果你是用DESIGNER工具设计的界面(后面有讲),则要将*.ui文件转换成*.h文件和*.cpp文件。转换方法如下:
uic -o test.h test.ui
uic -o test.cpp -i test.h test.ui

3.编写一个*.pro文件(用来生成Makefile文件用),该文件格式比较固定。
如test.pro文件基本格式如下(以test.cpp ,test.h main.cpp为例子):
EMPLATE = app
CONFIG += qt warn_on release
HEADERS = test.h
SOURCES = test.cpp \
main.cpp
TARGET = hello
DEPENDPATH=/home/wangxl/QTE/qt-2.3.7/include
REQUIRES=

4.生成Makefile文件
方法为:tmake -o Makefile test.pro
5 编译生成可执行文件
make

6 打开QVFB
进入安装QT/X11所在目录, 在BIN目录下执行程序qvfb。
有时候需要修改qvfb执行时的deptb参数才能够执行QT/E程序。可以直接在QVFB打开窗口的Configure彩单项中选择,也可以用如下命令执行QVFB。
./qvfb -width ** -height ** -depth **
7.执行QT/E程序
如 。/TEST
在QVFB程序打开的窗口中将出现TEST程序的显示 。

四.Qt/e与QT/X11
安装QT/E的同时还需要安装QT/X11与Tmake,Tmake 是用来帮助生成Makefile文件的。安装QT/X11主要是向QT/E提供designer工具和qvfb工具的。
Designer可以用来设计图形界面,最后生成.ui文件,可通过UIC命令转换为相应的C++文件。
QVFB模拟帧缓冲,提供QT/E程序的显示平台。

五.QT/E 程序ARM 板上执行
在我虚拟机上可以执行的QT/E程序不能在ARM板上执行,需要对QT/E进行重新编译,并需要设置响对于ARM板系统的编译环境,具体方法可以参考我另外的一文《QT/E开发记录》

六.QT/E支持中文显示问题
QT/E需要字体转换才能显示中文。具体方法可以参考我另外的一文《QT/E开发记录》
但是由于缺少UNICODE的QPF文件的字体,中文字大小不均匀问题尚没解决。
文章评论

共有 97 条评论