[xsd-users] Compiling to multiple DLLs, duplicate symbols problem

Boris Kolpackov boris at codesynthesis.com
Mon Nov 23 09:15:13 EST 2009


Hi Greg,

Greg Carter <greg at permedia.ca> writes:

> Did a clean/rebuild on both and when I attempt to link the dependant 
> dll I get the duplicate symbols problem:
>
> 1>geocosmxmllibbasecpp.lib(geocosmxmllibbasecpp.dll) : error LNK2005:  
> "public: class xsd::cxx::tree::sequence<int,1> & __thiscall  
> xsd::cxx::tree::sequence<int,1>::operator=(class  
> xsd::cxx::tree::sequence<int,1> const &)"  
> (??4?$sequence at H$00 at tree@cxx at xsd@@QAEAAV0123 at ABV0123@@Z) already defined  
> in Compaction_custom.obj
> 1>geocosmxmllibbasecpp.lib(geocosmxmllibbasecpp.dll) : error LNK2005:  
> "public: __thiscall  
> xsd::cxx::tree::sequence<int,1>::~sequence<int,1>(void)"  
> (??1?$sequence at H$00 at tree@cxx at xsd@@QAE at XZ) already defined in  
> Illite_custom.obj

This doesn't look good. It won't be easy to fix with the simple symbol
export that was used before since this is a sequence template instantiation
and there could be tons of them, with different types.


> I could probably package the projects up if you needed to see the error  
> first hand.

Yes, that would be great (you can send it to me off list). I think I
will have to talk to the Microsoft folks about this.

Boris



More information about the xsd-users mailing list