一、tslib库的编译:
1、在tslib官网上下载tslib-1.4的源码:tslib-1.4.tar.gz
2、cd /home/ubuntu (ubuntu是我开发板的用户名称)
3、将tslib-1.4.tar.gz放在/home/ubuntu下面;(方法:1、可以通过共享文件;2、也可以直接从Windows中直接拖进来;建议使用共享文件)
4、tar -zxvf tslib-1.4.tar.gz
5、cd tslib
6、mkdir Arm-tslib (下面会将tslib库安装在这个文件夹)
7、./autogen-clean.sh(注意:每次在编译失败后都要执行,这是清除作用)
8、./autogen.sh
出现:./autogen.sh:4:autoreconf:not found 错误
9、sudo apt-get install autoconf automake libtool
10、./autogen-clean.sh
11、./autogen.sh
12、./configure --host=arm-none-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes
--cache-file=arm-linux.cache -prefix=/home/ubuntu/tslib/Arm-tslib
注意:--host=arm-none-linux-gnueabi(指定交叉工具链,可根据需要修改)
-prefix=/home/ubuntu/tslib/Arm-tslib(指定安装目录,可根据需要修改)
13、在/tests/ts_calibrate.c中加入open的第三个参数0777,否则make时会出现错误
即:vim tests/ts_calibrate.c
修改227行和229行
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);
}
或者
if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
cal_fd = open (calfile, O_CREAT | O_TRUNC | O_RDWR,
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
} else {
cal_fd = open (TS_POINTERCAL, O_CREAT | O_TRUNC | O_RDWR,
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
}
14、make
15、make install
16、此时可以在Arm-tslib文件中看到4个文件: bin etc include lib
17、
进入Arm-tslib/etc下面,修改ts.conf如下,其他的都不变
将第二行# module_raw input 前面的空格和#删除