I have two libraries, named a.lib and b.lib. Both libraries have a function char test(void), but return different characters.
a.c (a.lib)
char test(void);char test(void) { return 'a';}
b.c (b.lib)
char test(void);char test(void) { return 'b';}
I create a project link these two libraries and call test() in main() function.
main.c
char test(void);int main(){ char c = test(); return 0; }
I expected it should be "Error: L6200E: Symbol multiply defined" error, but " 0 errors".
Why is there no link error?
Thanks for the reply.
Thanks for your reply. I'll strongly recommend them following the naming rule. I'll also ask them to provide all the object files so that I can double check this issue by linking all the object files.
clliao.tw said: I'll also ask them to provide all the object files so that I can double check
Why would you do that at the Object level?
Surely, it'd be easier at the source level?