首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

qt4.7移栽

2012-12-21 
qt4.7移植主要包括两部分,一是在宿主机上生成能交叉编译QT应用程序的开发环境(主要是库,包括触摸屏库tslib

qt4.7移植

主要包括两部分,一是在宿主机上生成能交叉编译QT应用程序的开发环境(主要是库,包括触摸屏库tslib和QT库,涉及到库的剪裁),并设置环境变量使程序在编译链接时能找到相应的资源(内容较少,主要是QTDIR/bin和QTDIR/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? -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 -D__ARM_ARCH_5TEJ__ -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -confirm-license "$@"

参数意义:release版本(比debug版本小)
nomake 不安装docs,demo,examples,tools

第二部分:
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

测试运行

./test –qws

?

热点排行