下载的问题不再记录。移植版本为1.4.
编译步骤
# ./autogen.sh
# ./configure --host=arm-linux-gnueabihf --prefix=/qt/tslib-1.4/install --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no ac_cv_func_malloc_0_nonnull=yes
# make -j4
# make install
只要环境没问题,基本直接过。如果出错,参考下面解决,解决不了的可以百度。http://blog.csdn.net/lwbeyond/article/details/7694749
1.执行./autogen.sh
提示错误: ./autogen.sh: 4: autoreconf: not found
解决方法:
sudo apt-get install autoconf automake libtool 2.执行./configure --host=arm-linux --prefix=/usr/local/tslib
提示错误:
ts_test.o(.text+0x218): In function `main':: undefined reference to `rpl_malloc'
fbutils.o(.text+0x234): In function `open_framebuffer':
: undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status
make[2]: *** [ts_test] Error 1
make[2]: Leaving directory `/home/gfpeak/Desktop/tslib/tests'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gfpeak/Desktop/tslib'
make: *** [all] Error 2
解决方法:
在编译的时候 ./configure 后面的参数没有设置对,正确设置如下:./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
3. 执行 make 出错
error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
解决方法:
修改 cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR ,0) (据说是交叉编译器版本问题)4. 编译 QT 时报错找不到 tslib 库
交叉编译器是 arm-none-linux-gnu-eabi 4.2.0
5. 在开发板上运行校正程序时出现 No raw modules loaded
解决方法
把 tslib/etc 目录下的 ts.conf 的 "#module_raw input"的注释符号"#"去掉。但记住不要在前面留有空格 ,否则还会出现错误。