现在的位置: 首页 > 综合 > 正文

qt4.7.0的移植

2012年12月01日 ⁄ 综合 ⁄ 共 2544字 ⁄ 字号 评论关闭

一:环境介绍

虚拟机:vmware 7.0

Linux 环境:ubuntu 9.04

交叉编译环境:arm-linux-g++ 3.4.5

硬件平台:TQ2440

二:移植步骤

安装交叉编译环境

由于这里使用的是QT2440管盘中提供的交叉编译工具链EABI-4.3.3_EmbedSky_20100610.tar.bz2,放在/opt/目录下解压

主要是在解压后可以看到其中含有两个版本,由于qt4.7.0的编译必须使用3.4.5版本所以在设置交叉编译的路径的时候使用的是

/etc/profile中加入

export PATH=/opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin:$PATH 

安装tslib1.4

1.       下载tslib1.4,解压

2.       进入解压的目录运行 执行./autogen.sh

3.       执行./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes ,经过一段时间的编译

4.       执行make install

5.       修改/opt/tslib/etc/ts.conf,把第二行的#号去掉(这样做的主要目的是为了在移植到板子上的时候,可以制定输入模块)

6.       /etc/profile中加入

export PATH=/opt/tslib:$PATH

编译qt4.7.0-arm

1.       下载qt-everwhere-opensource-4.7.0,并解压最好重命名qt-everwhere-opensource-4.7.0-qte

2.       开始进行配置选项

./configure -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -confirm-license "$@"

3.       开始进行交叉编译gmake 此过程要经历很长的一段时间

4.       在交叉编译成功后运行gmake install安装,这里会默认安装到

/usr/local/Trolltech/QtEmbedded-4.7.0-arm

5.       这个时候qte的编译就成功了

制作根文件系统(移植到开发板)

1.  移植tslib,将ubuntu中的/opt/tslib 拷贝到根文件系统中的/opt/下面

2.  移植qte4.7.0/usr/local/Trolltech/QtEmbedded-4.7.0-arm下面的lib文件夹拷贝到根文件中的相同目录下(必需得先创建相应的目录)

注:此时可以根据需要裁剪lib 中的内容去掉不用的.so文件

3.         增加新的显示中文的字体wenquanyi 放到上面的/lib/fonts目录下。删除其他不需要的字体

4.         拷贝/usr/local/Trolltech/QtEmbedded-4.7.0-arm/plugins目录到根文件系统中的/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib/目录下

5.         修改profile文件添加环境变量

export TSLIB_TSDEVICE=/dev/input/event0

export LD_LIBRARY_PATH=/opt/tslib/lib:$LD_LIBRARY_PATH

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_PLUGINDIR=/opt/tslib/lib/ts

export TSLIB_CONSOLEDEVICE=none

export TSLIB_CONFFILE=/opt/tslib/etc/ts.conf

export POINTERCAL_FILE=/etc/pointercal

export TSLIB_CALIBFILE=/etc/pointercal

export QWS_MOUSE_PROTO='TSLIB:/dev/input/event0'

 

export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$DTDIR/lib/plugins/imageformats:$LD_LIBRARY_PATH

 

export QT_PLUGIN_PATH=/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib/plugins

 

export QWS_KEYBOARD=TTY:/dev/tty1

export KDEDIR=/opt/kde

 

export HOME=/root

测试运行

此时的移植已经基本完成,可以将在ubuntu中编译好的文件放到板子上运行就可以了如:

./test –qws

 

抱歉!评论已关闭.