注:前面讲到了qt-4.3.3的移植 ,配合的是tslib1.3,但效果不好。于是有了这篇文章
环境:fedora8
触摸屏插件:tslib-1.4.tar.gz
交叉编译器:arm-linux-gcc3.4.1
一.下载并 编译tslib-1.4
export PATH=/usr/local/arm/3.4.1/bin:$PATH(若交叉编译器已设置好,此步可省)
tar xzvf tslib-1.4.tar.gz
cd tslib/
./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no -prefix=/home/liu/tslib
make
make install
cp -fr /home/liu/tslib /mnt/nfs/
cd /mnt/nfs/tslib/etc
vi ts.conf
去掉module_raw input前面的#号
我的最终ts.conf内容为:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=10
module linear
二.测试tslib
进入minicom或超级终端
vi setenv.sh
export T_ROOT=/mnt/nfs/tslib
export LD_LIBRARY_PATH=$T_ROOT/lib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/mnt/yaffs/pointercal
保存退出.
. setenv
(注:dot用法,点、空格、文件名)
env 查看环境变量是否生效
cd bin
./ ..... 即可(几个测试例子)
注意:触摸屏 的前提是你的触摸屏驱动已经写好,并加载进了内核.你可以测试有没有加载触摸屏驱动,cat /dev/input/event0(这只是我的板子上的触摸屏) ,手摸触摸屏,看终端有无显示,若有则表明正确。
三.编译QT4.5
配置参数:
./configure -prefix /mnt/nfs/Qtopia -embedded arm -no-opengl -qt-mouse-tslib -I (我的tslib目录/include) -L (我的tslib目录/lib)
make
make install 注:(root用户)
四.最终的环境变量设置:
export QTEDIR=/mnt/nfs/Qtopia
export T_ROOT=/mnt/nfs/tslib
export PATH=$QTEDIR/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/mnt/yaffs/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTEDIR/lib
配置过程难免会遇到错误,解决办法可参照:qt-4.3.3移植
http://blog.youkuaiyun.com/lxb316/archive/2009/12/05/4948726.aspx
参考:http://blog.chinaunix.net/u2/86708/showart_1924834.html