Qt4.7.4移植
移植环境
gcc编译器版本:gcc version4.3.2 (Sourcery G++ Lite 2008q3-72)
宿主机版本:Ubuntu 10.04LTS
QtCreator版本:QtCreator2.6.1
交叉编译依赖库:tslib1.4
Qt版本:qt-everywhere-opensource-src-4.7.4
虚拟机版本:Vmware 7.1.4
qmake
移植Qt其实主要是为了得到三个版本的qmake,分别为qmake-arm、qmake-x86、qmake-x11
qmake-arm:用于交叉编译arm架构的程序,编译后的程序运行在开发板上。由于我们的开发板要使用触摸屏,开发板程序需要触摸屏库的支持,所以必须先移植触摸屏库。
qmake-x86:用于编译x86架构的程序,编译这个qmake只是为了方便调试开发板上的程序,创建一个虚拟的开发板环境。
qmake-x11:用于编译在宿主机上运行的程序。移植时需要把qvfb这个工具编译出来提供给虚拟环境使用,配置时加上参数-qvfb即可。
移植前准备
1. 分别创建以下目录:
/home/qt/qt-x86
/home/qt/qt-x11
/home/qt/qt-arm
/home/qt/qt-creator
/home/qt/tslib
2. 文件。将qt-everywhere-opensource-src-4.7.4解压成三份,分别命名为qt-x86-build、qt-x11-build、qt-arm-build。
tslib 1.4触摸屏库的移植
1.解压源码
# tar -zxvf tslib-1.4.tar.gz
# cd tslib-1.4
2.执行autogen.sh脚本生成configure文件
# ./autogen.sh
3.生成Makefile文件
# echo"ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache
# ./configure --host=arm-linux --prefix=/home/qt/tslib--cache-file=arm-linux.cache
说明:
l --cache-file 定义一个临时的缓冲文件,当重新进行配置时可利用此文件加快配置速度,默认情况下是不用这个文件的。
l 如果不添加echo"ac_cv_func_malloc_0 _nonnull=yes">arm-linux.cache会报错:
ts_test.o: In function `main':
ts_test.c:(.text+0x1d8): undefinedreference to `rpl_malloc'
fbutils.o: In function`open_framebuffer':
fbutils.c:(.text+0xa20): undefinedreference to `rpl_malloc'
4.编译安装
#make
#make install
5.修改/tslib/etc/ts.conf文件
module_rawinput
modulepthres pmin=1
modul