|
开发环境:
linux平台:Ubuntu10.10
QT版本:qt-everywhere-opensource-src-4.6.3.tar.gz
移植平台:S3C2440
交叉工具链:arm-linux-gcc4.1.2(由友善之臂提供)
触摸屏库:tslib1.4.tar.gz
【说明】移植触摸屏库之前,必须保证触摸屏驱动已经可以正常使用!
1. 下载源码包
从http://qt.nokia.com/downloads上下载qt-everywhere-opensource-src-4.6.3.tar.gz源码包
从http://download.csdn.net/source/3540761上下载tslib1.4.tar.gz
2. 移植tslib
① 解压缩tslib1.4.tar.gz
# tar xzvf tslib1.4.tar.gz
# cd tslib1.4
② # ./autogen.sh // 用于生产configure(对于没有configure文件的,这一步必须做)
③ # ./configure --prefix=/usr/local/tslib/--host=arm-linuxac_cv_func_malloc_0_nonnull=yes
//--prefix= 后面加上安装路径
④ # make
⑤ # make install // 也可以用make install-strip生成瘦身应用程序和库
/**=======编译和安装后在主机的/usr/local/tslib目录下可以看到编译好的程序和库。=======**/
⑥ 修改tslib/etc目录下的ts.conf文件,将module_raw input前面的注释去掉,前面不要有空格
⑦ 移植库文件到你制作的根文件系统中
# cp –arf /usr/local/tslib/* ***/rootfs/usr/local/tslib
⑧ 在根文件系统的etc/profile文件中加入运行tslib的所需要的环境变量
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/event0 (对应的触摸屏设备,根据实际情况修改)
export TSLIB_FBDEVICE=/dev/fb0 (对应的framebuffer设备)
export TSLIB_CALIBFILE=/etc/pointercal (触摸屏校正生成的文件,运行***/tslib/bin/ts_calibrate产生)
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
⑨ 测试
完成以上的配置后,就可以进入/usr/local/tslib/bin目录下运行./ts_test进行测试了,不过这之前最好先运行./ts_calibrate对触摸屏进行校正
到目前为止,已经迈出了一大步,恭喜一下自己
3. 移植QTE
① 将 qt-everywhere-opensource-src-4.7.3.tar.gz压缩包解压
# tar xzvf qt-everywhere-opensource-src-4.7.3.tar.gz
# cd qt-everywhere-opensource-src-4.7.3
② 配置QT(可以在这里对Qt进行裁剪,蓝色是比较重要的选项)
# ./configure \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
③ 编译 # gmake
④ 安装 # gmake install
⑤ 安装完成后,在 /usr/local/Trolltech 目录中就会有一个文件夹:QtEmbedded-4.7.3-arm
移植相应的文件 # cp -r /usr/local/Trolltech ***/rootfs/usr/local/
⑥ 设置支持QTE的环境变量,修改根文件系统下/etc/profile,添加:
QTDIR =/usr/local/Trolltech/QtEmbedded-4.7.3-arm
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export POINTERCAL_FILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0