This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

lib_AT91SAM7S64.h: MULTIPLE PUBLIC DEFINITIONS

The example code for AT91SAM7S64 contains
#include <lib_AT91SAM7S64.h>
and it works fine.

When I include this in two or more .c
files, I get lots of linker errors like
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: AT91F_AIC_ConfigureIt?T

Now if there was a non-extern variable
declaration, or a normal routine in there
I'd understand it, but in lib_AT91SAM7S64.h,
AT91F_AIC_ConfigureIt is defined as __inline.

... and if it's inline, then why is the
compiler generating any public definitions
for it at all?
Why does the linker even need to see an
inline function?

I've tried changing "__inline" to "inline",
to agree more closely with the compiler
docs, but that didn't help.

Any ideas?

0