[Matroska-devel] Re: Difficulties to link libebml with DevCpp

Steve Lhomme steve.lhomme at free.fr
Sat Oct 22 15:22:26 CEST 2005

Zen wrote:
> Moritz Bunkus wrote:
>> Hey,
>> On Wednesday 19 October 2005 23:22, Zen wrote:
>>> The project files are out of date (if you are interested, I can send you
>>> updated files),
>> That would be nice.
> I sent to your private adress the files...
> But please : is it possible for libebml to stop to have an exception for 
> WinIOCallback?
> At least for the .h file, because all .h are in the same directory, 
> except ONE, it is always forgot...
> For .cpp, maybe a #ifdef _WIN32 for all file would be better than to 
> have a specific directory...

Well, the IO classes are just helpers. Usually each app create it own IO 
class as a child of our virtual class.

>> Usually linkers care about the order in which you specify the
>> libraries. It tries to resolve all unknown symbols from all the
>> following libraries and discards all unneeded symbols from the current
>> library. So when it reaches Ebml.a the stuff from Matroska.a hasn't been
>> found yet, so the linker discards everything from Ebml.a. Next if
>> examines Matroska.a and needs all those symbols from Ebml.a, but those
>> have already been discarded. The solution should be to swap Ebml.a and
>> Matroska.a.
> And the result is... Exact!
> GCC (MinGW32) is surprising, only EbmlSInteger, not others... I don't 
> want to know why ;-)

Yeah, too many people think gcc is a really good compiler ;)

More information about the Matroska-devel mailing list