准备:下载tislib1.4源码包并拷贝到ubuntu的文件目录下。
1、进入tslib1.4源码目录解压源码包
tar xzbf tslib-1.4.tar.gz
2、进入tslib源码目录执行
./autogen.sh
提示下列错误
./autogen.sh: 4: autoreconf: not found
它们产生的原因一样,是因为没有安装automake 工具, 用下面的命令安装好就可以了。
sudo apt-get install autoconf automake libtool
再次执行
./autogen.sh
3、配置tslib
设置安装目录--prefix=/opt/tslib-1.4
设置运行环境 (交叉编译成arm体系Linux操作系统)--host=arm-linux
./configure -host=arm-linux -prefix=/opt/tslib-1.4
4、编译和安装
make
出现下列错误
ts_test.o: In function `main':
ts_test.c:(.text+0x1d8): undefined reference to `rpl_malloc'
fbutils.o: In function `open_framebuffer':
fbutils.c:(.text+0xa20): undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make[2]: *** [ts_test] Error 1
make[2]: Leaving directory `/home/li/tslib/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/li/tslib'
make: *** [all] Error 2
执行下面命令即可
./configure CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ -host=arm-none-linux-gnueabi -prefix=/opt/tslib-1.4 ac_cv_func_malloc_0_nonnull=yes
-enable-inputapi=no. 是为了解决运行中提示 ts_open:Inappropriate ioctol for device,它表示即不使用ioctl来控制触摸屏。即不使用ioctl来控制触摸屏。
ac_cv_func_malloc_0_nonnull 需要建一个 cache文件,来欺骗 configure,让它不检查这一项
安装
sudo make install