我尝试使用ARM工具链编译.so文件。但是我一直收到这个错误 -
错误:源对象具有EABI版本0,但目标具有EABI版本5
我无法改变工具链中的任何内容,因为我必须使用给定的。我以前从未见过这个错误。
我使用了这个编译器标志 -
-Wl,--no-warn-mismatch
但不得不把它拿出去,因为它打破了很多其他的东西。
我使用的编译器标志是:
-fPIC -O2 -marm -march=armv7-a
答案 0 :(得分:0)
使用as -meabi=5
我不会说我完全理解... :-),但是它解决了问题。
我试图做的事情失败了:
--target arm-elf
的4de5434b694fc260d02610e8e7fec21b2923600a arm-linux-gnueabihf-gcc
版本5.3.1链接我认为EABI规范中提到的价值http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf
表4-2,特定于ARM的e_flags
这将屏蔽8位版本号,即该版本号所对应的ABI版本 ELF文件符合。该ABI是版本5。值为0表示未知 一致性。
尽管我不知道为什么完全弹出0。