编译tslib库
1.首先从网上下载的tslib-1.4.tar.gz
2.解压 tar xvzf tslib-1.4.tar.gz ; cd tslib
3.生成configure,这里比一般的开源项目少做一步,要先运行解压目录下的脚本
./autogen.sh
4.用configure 生成Makefile.
生成脚本:
./configure CC=arm-vfp-linux-gnu-gcc \
--host=arm-unknown-linux \
--build=i386-linux \
--enable-inputapi=no \
ac_cv_func_malloc_0_nonnull=yes \
prefix=/opt/libs/tslib
5 修改tslib/etc/ts.conf 将module_raw input前#以及空格去掉
6.编译安装
make
make install-strip #安装strip后的库
#make install #安装没有strip库版本.
7配置开发板环境
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
8将/opt/libs/tslib 目录拷贝到开发板/usr/local目录下
9 运行/usr/local/tslib/bin 目录下应用程序,可以成功运行。
遇到问题:
1、undefined reference to `rpl_malloc'
configure 后加选项ac_cv_func_malloc_0_nonnull=yes
2、Couldnt open tslib config file
ts.conf路径设置不正确;
3、No raw modules loaded.ts_config:No such file or directory
输入模块目录设置问题,正确设置ts目录;
或者tslib库未编辑输入模块,在tslib库源码tslib/etc/ts.conf 中去掉module_raw input前#以及空格去掉,再执行编译拷贝操作;
4
/usr/include/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments In function ‘open’, inlined from ‘main’ at ts_calibrate.c:229:11: /usr/include/bits/fcntl2.h:51:24: error: call to ‘__open_missing_mode’ declared with attri
解决方法: // 源文件 // if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) { // cal_fd = open (calfile, O_CREAT | O_RDWR); // } else { // cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR); // } // 需要更改成如下形式 if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) { cal_fd = open (calfile, O_CREAT | O_RDWR, 0777); } else { cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777); }5 Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 190.
Use of uninitialized value $libtoolize in pattern match (m//) at /usr/bin/autoreconf line
解决::在ubuntu下安装libtool.deb或者更新用命令:apt-get install libtool
6 Can't exec "aclocal": 没有该文件或目录 at /usr/share/autoconf/Autom4te/FileUtils.pm line 290
解决方法:apt-get install automake