移植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文件系统

移植的linux:系统是我自己直接从linux 2.6.32.2配置的,按照以前的博文移植好linux内核,由于没友善的完善,可能缺了点驱动,所以假如是你也是自己配置的内核,www.linuxidc.com请确保你的AD驱动跟触屏的驱动移植好,要不然,是无法进行触屏操作的。

压缩包:

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 MA

Tags: