IMX6ULL使用tslib测试程序的时候,编译的时候报错,libts.so:file format not recognized

在make-01_all_series_quickstart/06_实战项目/01_电子产品量产工具/source/02nput_touchscreen_unittest时出现问题
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libts.so: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
Makefile:40: recipe for target ‘test’ failed
make: *** [test] Error 1

编译过程如下:



编译出来的库也移动到的对应位置:

在学习06_实战项目/01_电子产品量产工具时编译自己写的代码出现问题,于是直接编译01_all_series_quickstart中提供的源码还是出现一样的问题,可以确认是tslib方面的问题,已经参照imx6ull开发手册和视频重复编译多次tslib,还是无法解决,特来求助

问题已经解决!
问题在于提供的linux开发手册里配置tslib的编译工具链使用的是arm-linux-gnueabihf-gcc工具链,而编译代码时使用的是arm-buildroot-linux-gnueabihf-gcc工具链,所以出现错误。如下所示:


解决方法:
参考《第四篇 6.4 交叉编译程序:以 交叉编译程序:以 freetype 为例》去配置工具链编译tslib,不要使用《7.5.2 交叉编译、测试tslib》 提供的命令,如下所示:

注:编译时,“ --host=”后没有空格,正确命令为:./configure --host=arm-buildroot-linux-gnueabihf
图中已经注明

2 Likes

为什么我修改以后还是会报一样的错误 :sob:

修改后还是报错