文章转自http://blog.csdn.net/jeanblog/article/details/6694735,
按照上面的步骤操作的时候,有些地方出现了问题。本文是在原文的基础上按照自己的步骤进行了一定的修改。
交叉编译tslib1.4
假设源码解压目录为: /home/tslib-1.4
1、cd /home/tslib-1.4
export CC=arm-linux-gcc //编译时所用的编译器,确保能找到
./autogen.sh //生成congigure, 如果遇到错误 ./autogen.sh:4:autoreconf:not found
是因为没有安装automake.只需要用一下命令安装就可一了 sudo apt-get install autoconf automake libtool
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache //可以使make过程的错误不出现
2、./configure --host=arm-linux --cache-file=arm-linux.cache //加上参数--prefix=/home/tslib-1.4可以看到头文件
3、make
出现错误:undefined reference 'rpl_malloc'
解决:将config.h.in中的
#undef malloc 行注释掉
4、sudo make install //需要超级用户
生成的库文件分别在目录./src、./plugins的.lib目录中,其中./lib为隐藏目录,src/.lib中包含libts-0.0.so.0.1.1,libts-0.0.so.0、libts.la、libts.lai、libts.so,plugins/.lib中包含ucb1x00.so、pthres.so、linear.so、input.so、variance.so、dejitter.so等,库文件版本为libts-0.0.so.0.1.1,头文件为tslib.h
5、拷贝
mkdir tslib-1.4
cd tslib-1.4
mkdir lib etc plugins include tests
目录lib:将src/.lib/中的libts-0.0.so.0,libts-0.0.so.0.1.1,libts.so拷到其中。
目录etc: 将etc/中的ts.conf拷到其中。//结合自己的触摸屏型号进行相应的修改
目录plugins: 将plugins/.libs/中的*.so拷到其中。//结合自己的触摸屏型号,删除部分库文件
目录tests: 将tests/中的ts_*拷到其中.
目录include:将src/tslib.h拷到其中。