1、下载
通过SSH传输到服务器
2、解压
tar –xvf tslib-1.4.tar.gz
3、配置
3.1 ./autogen.sh
提示错误:./autogen.sh: 4: autoreconf: not found
解决方法:sudo apt-get install autoconf automake libtool
3.2 ./configure --host=x86_64-pokysdk-linux -prefix=/opt/tslib/
提示错误:ts_test.o(.text+0x218): In function `main': undefined reference to `rpl_malloc'
解决方法:增加参数ac_cv_func_malloc_0_nonnull=yes
3.3 执行:
./configure --host=x86_64-pokysdk-linux -prefix=/opt/tslib/ ac_cv_func_malloc_0_nonnull=yes
4、编译make报错
../x86_64-pokysdk-linux-libtool: line 1731: arm-poky-linux-gnueabi-ranlib: command not found
此错误是由于编译环境造成的
不能source /opt/myir-imx6ulx-fb/4.1.15-2.0.1/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
解决方法:重新开一个窗口,不加载上述环境
5、编译make出错
error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
此错误是由于编译器版本造成的
解决方法:将tslib目录下的test文件夹中的ts_calibrate.c文件修改,如下
两处:cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR);
修改为:cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR,0);
6、生成
生成目录如下图所示
7、ARM版本
上述步骤生成的是X86格式的文件,使用下面命令生成ARM格式的文件
重新配置:
./configure --host=arm-linux -prefix=/usr/local/tslib ac_cv_func_malloc_0_nonnull=yes
将生成的文件copy到ARM板对应的文件夹下去,如下:
/usr/local/tslib/lib文件下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下
/usr/local/tslib/etc下的ts.conf拷贝到开发板的/etc下,在复制对应目录之前修改文件如下,也可以复制完成后修改。去掉# module_raw input前面的注释,一定要注意中间的空格也去掉,module顶格。
最后添加环境变量,通过超级终端在开发板系统中添加环境变量,可以在开发板文件系统的/etc/profile文件里添加,也可以直接添加。
在profile中添加,记得source
然后就能通过bin目录下的可执行文件测试啦(直接运行以下各程序即可)
好了,到此tslib到此就移植结束啦
欢迎大家指教,希望大家喜欢
路漫漫其修远兮,同志仍须努力