天天看点

qt 移植

注:移植时,注意交叉编译器版本对应于不同的qt版本范围,以及内核版本。希望各位在前期做足准备工作。

本人此处用的是arm-linux-gcc 3.4.1 qt为4.5.3 。以下为本人的配置,由于板子配置不同,可能情况不一,请先鉴别再使用!

首先配置nfs,然后安装交叉编译器

(1)  安装arm-linux-gcc

 复制arm-linux-gcc-3.4.1.tgz到根目录下tmp文件夹里解压命令tar xvzf arm-linux-gcc-3.4.1 -C /

注意以上命令必须要有-C而且是大写的后边有个空格也要注意

然后配置下编译环境路径gedit /etc/profile等一会出来文本编辑器后在文件最后(最后一行)加上下面代码

export PATH=/usr/local/arm/3.4.1/bin:$PATH

source /etc/profile

上面是使刚才的配置文件效。

此时你可以在root用户下验证arm-linux-gcc -v,看是否版本相对应。

(2)  解压及编译触摸屏软件tslib1.4.tar.gz

把tslib1.4.tar.gz 文件放到/tmp/目录下,解压得到/tmp/tslib 目录。

./autogen.sh

./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

make

make install

(3)编译及安装QT Embedded软件

1.解压qt-embedded-linux-opensource-src-4.5.3.tar.bz2

tarxjvf qt-embedded-linux-opensource-src- 4.5.3.tar.bz2

2. 编译安装qt- embedded-linux-opensource-src-4.5.3

./configure -prefix /opt/qte-4.5.3-arm  -xplatform qws/linux-arm-g++ -embedded arm-little-endian depths 8,16,24,32  -makelibs -make examples -make demos -no-qt3support -no-nis -no-cups -no-iconv-no-glib -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -qt-libmng -qt-freetype-qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc-no-gfx-multiscreen -qt-kbd-usb -qt-kbd-tty -qt-mouse-pc  -qt-mouse-tslib -I/opt/tslib/include -L/opt/tslib/lib

make

make install

(4)  复制相应的库

将所有的/opt/qte-4.5.3-arm/lib/库专门拷出来。有些资料上说只要复制libQtGui.so.4libts-0.0.so.0 libQtCore.so.4 libQtNetwork.so.4 及其被链接文件。这里没有这么作,我用U盘挂载,不用担心空间的问题了。为了不必要的麻烦可以将动态库整个复制过去。

(5)  环境变量设置

export QTDIR=/mnt/udisk/rootfs/qte

exportT_ROOT=/mnt/udisk/rootfs/tslib

export PATH=$QTDIR/bin:$PATH

exportQT_QWS_FONTDIR=/mnt/udisk/rootfs/qte/lib/fonts

exportQWS_MOUSE_PROTO=tslib:/dev/input/event0

exportLD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib

export LANG=zh_CN

exportQWS_MOUSE_PROTO=MouseMan:/dev/input/mice

(6)  运行程序

./llk–qws

(7)终止程序

Ctrl+C

遇到的问题及解决方案

1、出现以下问题:/opt/../ld:skippingincompatible /tslib/ lib/ libts.so  whensearching for –lts

是交叉编译时指定tslib位置,与当前放的位置不一致!

2、 QFontDatabase: Cannotfind font directory /opt/qte-4.5.3-arm /lib/fonts - is Qt installedcorrectly?

加入解决:export QT_QWS_FONTDIR=/mnt/nfs/qte/lib/fonts。

3、库文件缺失问题

./llk.arm: error while loading shared libraries:librt.so.1: cannot open shared object file: No such file or directory

如下解决:从地址/usr/local/arm/3.4.1/arm-linux/lib拷到地址/opt/qte/lib/。

连连看程序界面:

qt 移植
qt 移植
qt 移植

开始界面

qt 移植
qt 移植
qt 移植

游戏时的界面

(注:本游戏小图标以及部分代码借鉴来自他人,具体网址目前尚未找到,感谢原作者!界面等修改为本人)