移植qt-embedded-linux-opensource4.5.3到QQ2440
这一篇文章我们将主要介绍虚拟机下建立embedded-X86的版本以及移植到QQ2440开发板的embedded-arm版本的QT4。
一、工作环境
虚拟机版本:VM6.0
操作系统:Fedora 9
编译工具:gcc 3.4. 和arm-linux-gcc 3.4.1
文件系统:自己制作的文件系统,有基本的busybox工具和arm-linux-gcc 3.4.1的库,脚本基本缺省配置,最简单那种,仅仅能启动基本服务。注意:不是用友善光盘的文件系统。上一篇文章我们已经介绍了如何去建立yaffs文件系统。
压缩包:
1. qt-embedded-linux-opensource-src-4.5.3.tar.gz
2. qt-x11-linux-opensource-src-4.5.3.tar.gz
3. tslib-1.4.tar.gz
二、背景知识
Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。
Qt/E(Qt/Embedded)是用于嵌入式Linux系统的Qt版本。Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高,但它并不是Qt的子集,而应该是超集,部分机制(如QCOP等)不能用于Qt/X11中。
Qtopia是一个构建于Qt/E之上的类似桌面系统的应用环境。相比之下,Qt/E是基础类库。
Qtopia Core:就是原来的Qt/E,大概从Qt 4开始改名,把Qtopia Core并到Qtopia的产品线中去了。但实际上Qtopia Core就相当于原来的Qt/E,仍然作为基础类库。
另外,似乎奇趣最近又把Qtopia Core改名叫做Qt for Embedded Linux了,不知道是不是因为Qtopia Core搞得大家都很糊涂,没人来买的缘故。
qt-x11-linux-opensource-src-4.5.3.tar.gz 这个安装包主要应用在linux下,安装完成后,会得到类似arm-linux-gcc和gcc这样的东西,可以编译相应的程序,安装这个包,有两个目的:
1、方便以后在Linux环境下编译调试好后,移植到开发板上
2、提供qmake、designer、qvfb等工具去让我们编译QT程序
qt-embedded-linux-opensource-src-4.5.3.tar.gz,主要是为了获得在ARM下,运行QT程序的库文件,当然它也能提供像qmake、designer、qvfb工具,不过由于我们在安装了qt-x11-linux-opensource-src-4.5.3.tar.gz的前提下,也就不需要重新安装了,所以这个安装包,我们可以根据实际情况缺省安装。
tslib-1.4.tar.gz,这个是驱动触屏的程序,只有正确安装这个程序,我们才能够操作开板的触屏
三、安装tslib-1.4
这是个触摸屏的库文件,把tslib-1.4.tar.gz放到/home目录下
#tar xvzf tslib-1.4.tar.gz
#cd tslib
#./autogen.sh
#./configure --profix=/home/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
#make
#make install
这样以后可以看到/home/mytslib/下有了库文件,移植时会用到!先不详细说明。
四、安装qt-x11-linux-opensource-src-4.5.3.tar.gz
谨记,在安装这个包的时候,只要确保你的硬盘空间至少有6G以上,一般不会出错。
把qt-x11-linux-opensource-src-4.5.3.tar.gz放到/opt目录下
#tar xvzf qt-x11-linux-opensource-src-4.5.3.tar.gz
#cd qt-x11-linux-opensource-src-4.5.3
#./configure
#gmake //过程很长,由于我的机子配置差,基本是前一天晚上到第二天....
#gmake install
然后
[root@localhost qt-x11-opensource-src-4.5.3]# cd tools/qvfb
[root@localhost qvfb]# make
[root@localhost qvfb]# make install
下面我们使用到这一步完成的qvfb。
五、安装qt-embedded-linux-opensource-src-4.5.3-x86
首先解压qt-embedded-linux-opensource-src-4.5.3-tar.gz然后将其命名为qt-embedded-linux-opensource-src-4.5.3-x86然后编译x86的版本。
[root@localhost qt4] # cd qt-embedded-linux-opensource-src-4.5.3-x86
[root@localhost qt-embedded-linux-opensource-src-4.5.3-x86] # ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.3-x86 -embedded x86 -qvfb
选择o确定开源版本,选择yes接受版权;
[root@localhost qt-embedded-linux-opensource-src-4.5.3-x86]# make
[root@localhost qt-embedded-linux-opensource-src-4.5.3-x86]# make install
安装完成以后进行如下一步操作:
[root@localhost qt4] # cp qt-x11-opensource-src-4.5.3/bin/qvfb /usr/local/Trolltech/QtEmbedded-4.5.3-x86/bin
然后配置x86的编译环境
#vim setenv-x86.sh
这时会跳出来一个编辑文本,在里面输入:
PATH=/usr/local/Trolltech/Qt-4.5.3/bin:$PATH
QTDIR=/usr/local/Trolltech/QT-4.5.3
MAINPATH=$QTDIR/man:$MAINPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH QTDIR MAINPATH LD_LIBRARY_PATH
然后保存!在每次进入QtEmbedded-4.5.3-x86目录中要 #source setenv-x86.sh
把环境变量设置好。