1.tslib 下载地址: https://github.com/kergoth/tslib/releases 我编译的时间最新更新到了1.10,好像用1.4的人还是比较多的。
2.如果电脑上面没有这几个工具,需要安装
sudo apt-get install automake
sudo apt-get install autogen
sudo apt-get install libtool
3.
export ac_cv_func_malloc_0_nonnull=yes
tar -zxvf tslib-1.4.tar.gz
cd tslib
./autogen.sh
./configure --host=arm-linux --cache-file=arm-linux.cache -prefix=/usr/local/tslib
make
make install
4.常见问题总结
(1)undefined reference to `rpl_malloc'
这个问题是由于没有设置好ac_cv_func_malloc_0_nonnull
(2)SYN_MT_REPORT undefined
出现这个问题的原因大概是用的glibc太旧了,这是一个宏,在/usr/include/linux/input.h 中定义,交叉编译工具在${PATH_TO_CROSS_COMPILER}/libc/usr/include/linux/input.h
我的本来应该在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include/linux/input.h中,由于libc比较老,没有,我把这个变量定义到了用到这个变量的文件中
这个变量我看到的文件基本都是定义的2,如下添加即可
#ifndef SYN_MT_REPORT
#define SYN_MT_REPORT 2
#endif
添加环境变量
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event2
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
其中TSLIB_TSDEVICE=/dev/input/event 几根据自己的开发板和驱动选
参考博客:
http://blog.csdn.net/wujiangguizhen/article/details/17141789