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

标签 c gcc linker iar

在我的例子中,我有一个使用代码源 gcc 构建的库,目标是 arm cortex-m4。然后我试图将该库链接到一个正在使用 IAR 编译器编译的项目中。

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

最佳答案

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

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

关于c - 使用一个编译器创建的静态 C 库是否与另一个兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249426/

相关文章:

c - haskell FFI : Calling FunPtrs

Java 相当于 C 中的 fscanf

c++ - MSVC - boost::python 静态链接到 .dll (.pyd)

c++ - 哪个链接器设置决定共享库的加载路径?

c - Valgrind 说 "Source and destination overlap in memcpy"关于两个缓冲区,但它们似乎没有重叠

c - pthread 条件不满足

c - 为什么 -O1 比 -O2 快

c++ - C 和 C++ 的优化工具

c++ - 编译 32 位时出现 __int128 错误

linker - 将嵌入式程序拆分为内存中的多个部分