[vlc-devel] Re: problem with libmkv when compiling VLC.exe on WIN32

Sigmund Augdal sigmunau at stud.ntnu.no
Mon Sep 27 14:49:34 CEST 2004


You still get this if you run make clean and do a new bootstrap on a
unmodified svn tree? the dependency isn't on the libmp4 plugin, but on one
of the source files that also makes up the libmp4 plugin. These files are
allways available in the vlc source tree, so I see no problem using them.

Sigmund Augdal

On Mon, Sep 27, 2004 at 01:43:49PM +0100, Damien Fouilleul wrote:
> 
> Hi,
> 
> I've noticed that libmvk.a had hard-dependencies on APIs in the 'libmp4' 
> plugin module, hence when I compile VLC.exe on Windows, I get the 
> following link errors:
> 
> g++ -mno-cygwin -O2 -Wsign-compare -Wsign-compare -Wall -mms-bitfields 
> -pipe -L/usr/win32/lib -o vlc.exe src/vlc-vlc.o lib/libvlc.a 
> share/vlc_win32_rc.o ./modules/misc/memcpy/libmemcpymmx.a 
> ./modules/video_chroma/libi420_rgb_mmx.a 
> ./modules/video_chroma/libi422_yuy2_mmx.a 
> ./modules/video_chroma/libi420_ymga_mmx.a 
> ./modules/video_chroma/libi420_yuy2_mmx.a 
> ./modules/misc/memcpy/libmemcpymmxext.a 
> ./modules/misc/memcpy/libmemcpy3dn.a ./modules/demux/liblivedotcom.a 
> ./modules/demux/libmkv.a ./modules/codec/ffmpeg/libffmpeg.a 
> -L/usr/local/lib -lkernel32 /usr/win32/lib/libiconv.a 
> /usr/win32/lib/libintl.a /usr/win32/lib/libiconv.a -lws2_32 -lnetapi32 
> -lwinmm -mwindows -L/usr/win32/lib 
> -L/usr/win32/live.com/UsageEnvironment -lUsageEnvironment 
> -L/usr/win32/live.com/groupsock -lgroupsock 
> -L/usr/win32/live.com/BasicUsageEnvironment -lBasicUsageEnvironment 
> -L/usr/win32/live.com/liveMedia -lliveMedia -lws2_32 -lz -lmatroska 
> -lebml -lavcodec -lz -lfaac -lmp3lame -lxml2
> ./modules/demux/libmkv.a(libmkv_a-mkv.o)(.text+0x1d0e):mkv.cpp: 
> undefined reference to `_MP4_MemoryStream'
> ./modules/demux/libmkv.a(libmkv_a-mkv.o)(.text+0x1d27):mkv.cpp: 
> undefined reference to `_MP4_ReadBoxCommon'
> ./modules/demux/libmkv.a(libmkv_a-mkv.o)(.text+0x1d33):mkv.cpp: 
> undefined reference to `_MP4_ReadBox_sample_vide'
> ./modules/demux/libmkv.a(libmkv_a-mkv.o)(.text+0x1dd2):mkv.cpp: 
> undefined reference to `_MP4_FreeBox_sample_vide'
> 
> I've temporarily solved the problem by creating a WIN32 import lib for 
> libmp4 and use that when compiling VLC.exe, which change the hard 
> dependency to a soft one, but I don't think that this is a long term 
> solution, since in essence, plugins are 'optional' components and if 
> 'libmp4_plugin.dll'  is not available, vlc.exe will bail out when it 
> calls those _MP4_ APIs.
> 
> I believe an explicit 'LoadLibrary' mechanism should be devised before 
> using these APIs.
> 
> Damien
> 
> 
> Subversion daemon wrote:
> 
> >r8795 | sigmunau | 2004-09-26 01:36:55 +0200 (Sun, 26 Sep 2004) | 4 lines
> >Changed paths:
> >  M /trunk/modules/demux/Modules.am
> >  M /trunk/modules/demux/mkv.cpp
> >  M /trunk/modules/demux/mp4/libmp4.c
> >  M /trunk/modules/demux/mp4/libmp4.h
> >
> >mkv.cpp: added support for quicktime video codecs in mkv (tested with svq3)
> >Modules.am: link mkv demux with mp4 demux
> >mp4/*: export some functions needed by mkv demux
> >
> > 
> >
> 
> -- 
> This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
> To unsubscribe, please read http://developers.videolan.org/lists.html

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list