tslib移植笔记-1

tslib背景【摘自百度】:
在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。
Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

系统环境:

Distributor ID:    Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:    trusty


交叉编译工具链:

适用于mini2440开发板的arm-linux-gcc-4.4.3-20100728.tar.gz


源码地址:

https://github.com/kergoth/tslib

下载源码方法:

1.通过git直接下载源码: git clone https://github.com/kergoth/tslib

2.网页下载源码,文件名为 tslib-master.zip,解压源码:unzip tslib-master.zip 


编译源码:

1.下载依赖库及工具

sudo apt-get install autoconf

sudo apt-get install automake

sudo apt-get install libtool


2.生成configure

执行 ./autogen.sh


遇到错误1:

➜  ~/test/tslib-master: ./autogen.sh 
configure.ac:24: error: possibly undefined macro: AC_DISABLE_STATIC
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:25: error: possibly undefined macro: AC_ENABLE_SHARED
configure.ac:26: error: possibly undefined macro: AC_LIBTOOL_DLOPEN
configure.ac:27: error: possibly undefined macro: AC_PROG_LIBTOOL
autoreconf: /usr/bin/autoconf failed with exit status: 1

原因:是因为没有安装上面的libtool

执行 sudo apt-get install libtool 即可。


安装后重新执行信息如下:

➜  ~/test/tslib-master: ./autogen.sh                
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in `m4/internal'.
libtoolize: copying file `m4/internal/libtool.m4'
libtoolize: copying file `m4/internal/ltoptions.m4'
libtoolize: copying file `m4/internal/ltsugar.m4'
libtoolize: copying file `m4/internal/ltversion.m4'
libtoolize: copying file `m4/internal/lt~obsolete.m4'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
configure.ac:18: installing './compile'
configure.ac:27: installing './config.guess'
configure.ac:27: installing './config.sub'
configure.ac:7: installing './install-sh'
configure.ac:7: installing './missing'
plugins/Makefile.am:13: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
plugins/Makefile.am: installing './depcomp'
tests/Makefile.am:12: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')


3.生成Makefile

预先配置好环境变量,交叉工具链arm-linux-gcc路径

./configure --host=arm-linux --prefix=安装路径


网上那个有教程有两种配置方式,但这里暂时没设置也能够编译通过:

1. ./configure --prefix=安装路径 --host=arm-linux ac_cv_func_malloc_0_nonnull=yes


2. echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

    ./configure --host=arm-linux -cache-file=arm-linux.cache --prefix=安装路径


4.编译源码

make && make install

最后在输出目录下生成 bin  etc  include  lib 四个子目录。

bin目录下面为可执行程序 ts_calibrate  ts_harvest  ts_print  ts_print_raw  ts_test
etc目录下面只有一个文件 ts.conf

include目录下面有头文件 tslib.h

lib目录下有 libts-1.0.so.0  libts-1.0.so.0.0.0  libts.la  libts.so  pkgconfig  ts

猜你喜欢

转载自blog.csdn.net/lxllinux/article/details/80362026
今日推荐