是否使用一个编译器与另一个编译器兼容创建静态c库

时间:2013-10-08 13:44:17

标签: c gcc linker iar

在我的情况下,我有一个使用代码源gcc定位arm cortex-m4构建的库。我试图将该库链接到使用IAR编译器编译的项目。

是否可以这样做或者是否必须使用新工具重建库?哪些因素会影响这个?

2 个答案:

答案 0 :(得分:6)

静态库是几个目标文件的捆绑包,它们始终是特定于编译器的。因此,如果您尝试将基于gcc的库与IAR编译器链接,则由于要链接的目标文件格式不匹配,您将在编译时收到错误。

您需要使用IAR重建您的库。

答案 1 :(得分:1)

ARM的IAR编译器支持AEABI格式,它允许您使用一个编译器编译文件并与另一个编译器链接。

如果您使用GCC构建了库并启用了AEABE,那么应该可以使用IAR工具在项目构建中使用静态库。