[Matroska-devel] Matroska 1.4 build under vs2010 fails

Colin S. Miller matroska-devel at csmiller.demon.co.uk
Mon Jul 15 21:13:29 CEST 2013


Hi,
If this isn't the correct place to report bugs in libmatroska, then please
point me in the correct direction, and I'll re-report it there.

I've downloaded libmatroska 1.4, and opened 'vc7' in Microsoft Visual 
Studio 10,
converting the project.

When I tried to build libmatroska, Visual Studio reported that it 
couldn't find
the source files KaxChapters.cpp, KaxClusterData.cpp, 
KaxContentEncoding.cpp,
KaxInfo.cpp,  KaxTag.cpp, KaxTags.cpp, KaxTrackAudio.cpp, 
KaxTrackEntryData.cpp,
and KaxTrackVideo.cpp.

It appears that the class ClassInfo etc macros that were in these files 
have been
moved to KaxSematic.cpp.

Replacing the files listed above with KaxSematic.cpp allows the static 
libmatroska
to build and run correctly.



A second bug is in the dynamic (DLL) versions. When I make the above changes
to the dynamic builds, the .DLLs appear to build correctly, but the 
auto-generated
import library has no exported symbols.
Visual Studio cannot link against a .DLL directly; it needs a import 
library for each
.DLL that the target uses; these are normally autogenerated when the .DLL is
built. However, in this case, it appears that the import library is not 
being created correctly.

In Visual Studio the .DLL imports can either be specified by using 
__declspec(dllexport)
before each class/function definition, or by listing all the exported 
symbols in a .def
file that is passed to the .DLL generation program.


TIA,
Colin S. Miller



More information about the Matroska-devel mailing list