普通ELF重定位 无法添加符号: 文件格式错误
问题描述
在makefile编译文件时出现如下的错误提示
/usr/bin/ld: obj/xxxx.opp:普通ELF重定位(M: 40)
/usr/bin/ld: obj/xxxx.opp:普通ELF重定位(M: 40)
obj/xxxx.opp: 无法添加符号: 文件格式错误
collect2: error: ld returned 1 exit status
makefile:82: recipe for target ‘test’ failed
make: *** [test] Error 1
解决办法
可能是由于编译器配置错误,当前所使用的编译器无法编译该文件
g++ -o obj/xxxx.opp
因此,重新配置编译器
source /opt/petalinux/settings.sh
export CROSS_COMPILE=“/opt/petalinux/tools/linux-i386/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-”