From: Timothy J. W. <tj...@om...> - 2003-02-03 05:17:37
|
I'm using binutils-2.13.90-20021209-1 and gcc-3.2.1-20021201-3 (crossing from Mac OS X) and I've run into something that I don't think should be happening... I'm linking two DLLs, one that depends upon the other. I was linking with just '-shared' on both, but when I do this, I get duplicate symbol definitions from DllMainCRTStartup being defined in both. But, if I add something like: -Wl,--output-def,Foo.def,--out-implib,libFoo.a to my link command for each DLL, then I don't get the duplicate symbol error. Presumably the libFoo.a doesn't list DllMainCRTStartup and the linker picks up .a files in preference to .dll files. I'm not specifying a def file when I build my DLLs, but I assumed that the various runtime symbols would automatically not get exported. Can any one point out what I'm misunderstanding? -tim |