错误分析
错误提示信息
libts.so:file format not recognized;treating as linker script
libts.so:未识别文件格式;作为连接脚本处理
大致分析为软链接找不到指定文件,因为之前我的系统出现问题,删除了整个工程文件夹。可能导致之前的软链接找不到指定的库文件。
用vim打开 libts.so
这个文件,也验证了我的想法。
链接到的文件 libts-1.3.so.0.1.3
虽然我的linux下没有这个文件。但是运行环境(ARM开发板)上肯定有。而编译时因为找不到相关库文件才导致编译失败,我只需要将运行环境上的libts-1.3.so.0.1.3
拷贝到我的linux下,再设置相关编译参数和目录应该就可以编译通过。
尝试编译
将运行环境下的 /usr/lib/libts-1.3.so.0.1.3
拷贝到 编译环境下的 ~/ts_lib/out/
尝试交叉编译 arm-none-linux-gnueabi-gcc 2048_V1.2.c -I ./ts_lib/out/include/ -L ./ts_lib/out/ -lts
成功。
总结
虽然这个方法不够严谨不够规范,但是解决了一个很棘手的问题,如果不能编译成功,整体进度就会耽搁。希望下次能够仔细分析问题,稳中求胜。