Are static c libraries created with one compiler compatible with another?

孤人 提交于 2019-12-12 11:05:51

问题


In my case I have a library built with code sourcery gcc targeting arm cortex-m4. I am trying to then link that library into a project being compiled with IAR compiler.

Is it possible to do this or does the library have to be rebuilt with the new tools? What factors affect this?


回答1:


Static library is bundle of several object files which are always compiler specific. So if you try to link a gcc based lib with IAR compiler, you will get error at compile time due to mismatch between object file formats to be linked.

You need to rebuild your library using IAR.




回答2:


The IAR compiler for ARM supports the AEABI format, which allows you to compile files with one compiler and link with another.

If you have built your library using GCC and have enabled AEABE, it should be possible to use the static library in a project build using the IAR tools.



来源:https://stackoverflow.com/questions/19249426/are-static-c-libraries-created-with-one-compiler-compatible-with-another

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!