在我的情况下,我有一个使用代码源gcc定位arm cortex-m4构建的库。我试图将该库链接到使用IAR编译器编译的项目。
是否可以这样做或者是否必须使用新工具重建库?哪些因素会影响这个?
答案 0 :(得分:6)
静态库是几个目标文件的捆绑包,它们始终是特定于编译器的。因此,如果您尝试将基于gcc
的库与IAR
编译器链接,则由于要链接的目标文件格式不匹配,您将在编译时收到错误。
您需要使用IAR重建您的库。
答案 1 :(得分:1)
ARM的IAR编译器支持AEABI格式,它允许您使用一个编译器编译文件并与另一个编译器链接。
如果您使用GCC构建了库并启用了AEABE,那么应该可以使用IAR工具在项目构建中使用静态库。