Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的例子中,我有一个使用代码 sourcery gcc 构建的库,针对 arm cortex-m4。然后我试图将该库链接到使用 IAR 编译器编译的项目中。
是否可以这样做,或者是否必须使用新工具重建库?哪些因素会影响这一点?
静态库是几个目标文件的捆绑包,这些文件总是特定于编译器的。因此,如果您尝试将gcc基于库的库与IAR编译器链接,由于要链接的目标文件格式之间的不匹配,您将在编译时出错。
gcc
IAR
您需要使用 IAR 重建您的库。
ARM 的 IAR 编译器支持 AEABI 格式,它允许您使用一个编译器编译文件并与另一个编译器链接。
如果您使用 GCC 构建了库并启用了 AEABE,则应该可以在使用 IAR 工具的项目构建中使用静态库。