问题
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