本帖最后由 TQ-lkp 于 2011-12-29 17:17 编辑
原文地址:http://blog.163.com/zhouhui_1102/blog/static/150480748201171115215531/ 首先,先说明下为了移植qt-embedded-linux-opensource-src-4.5.3,我主要参考了我博客里面转的一篇《Qt Embedded 4.5.3 的移植和触摸屏校正 》(http://blog.163.com/zhouhui_1102/blog/static/15048074820117235358115/),这篇里面的东西很是经典,个人认为前1,2,3点可以主要参考,我并没有参考第4点,第4点不够精炼。 我曾一度为在TQ2440板子上运行QT程序出现segmentation fault(段错误)而烦恼,不过经过两三天的反复查阅资料,顺利的解决了。这篇博文主要是将我的移植方法和方式以及出现的棘手问题贴出来。 1、系统环境 操作系统:宿主机为WIN XP SP3,虚拟机运行Linux,版本为CentOS_5.5 Linux下编译器:gcc version 4.1.2 20080704 (Red Hat 4.1.2-48) 交叉编译器:arm-linux-(4.1.2) 软件包: qt-embedded-linux-opensource-src-4.5.3.tar.gz arm920t-eabi.tgz(4.1.2的交叉编译器) tslib-1.4.tar.gz(用于触摸验证) 2、编译安装——arm920t-eabi.tgz(4.1.2的交叉编译器) 这里需要注意!这个交叉编译器是别人编译好的,一定要解压成默认路径,不然会出现是用链接的编译器 4.1.2 编译qt4.5.3,./configure 能过,make就过不了了,有如下错误:
<built-in>:0: note: candidates are: void* operator new(unsigned int)
make[1]: *** [.pch/release-shared-emb-arm/QtCore.gch/c++] error 1
make[1]: Leaving directory `/opt/qte-4.5.2/src/corelib'
make: *** [sub-corelib-make_default-ordered] error 2 所以,正确的方式是tar xzf arm920t-eabi.tgz -C /
3、编译安装以及移植——qt-embedded-linux-opensource-src-4.5.3及tslib-1.4 这里我就不说x86的QT编译安装了,x86编译安装主要是为了一个qvfb(用于仿真开发板,提供一个嵌入式的运行环境)。主要还是参考我前面提到的那篇博文。 直接开始说明如何编译qt-embedded-linux-opensource-src-4.5.3, 先用tar xzf qt-embedded-linux-opensource-src-4.5.3.tar.gz解压到当前目录, 然后mv qt-embedded-linux-opensource-src-4.5.3 qte-arm 来修改目录名, 然后mv qte-arm /opt/,移动到/opt下, 再tar xzf tslib-1.4.tar.gz解压到当前目录, cd tslib/ ,执行./autogen.sh , 再执行./configure --prefix=/usr/local/qte-arm/tslib-1.4 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes , cd /opt/qte-arm, 再执行./configure --prefix=/opt/qte-arm/tslib-1.4 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes , cd /opt/qte-arm,执行./configure -prefix /opt/qte-arm -no-qt3support -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake examples -nomake demos -nomake docs -no-nis -no-cups -no-iconv -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 8,16,24,32 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -qt-kbd-usb -qt-kbd-tty -qt-mouse-pc -no-glib -qt-mouse-tslib -I/opt/qte-arm/tslib-1.4/include -L/opt/qte-arm/tslib-1.4/lib 没错误后,make, 然后,make install。 安装完毕,现在开始移植。 将qte-arm/下的lib/和plugins/考到开发板文件系统中的/opt/qt-4.5/下然后在此文件夹下mkdir bin。这里的bin文件夹可以放你编译完成的QT程序。 然后在qte-arm/tslib-1.4/bin下的ts_calibrate 拷贝到文件系统的sbin/下,拷贝qte-arm/tslib-1.4/etc/ts_conf到文件系统的/etc下然后修改ts_conf为以下内容: module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear 记住这里必须顶格!不然会出现错误。
|