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

Damien Fouilleul damien.fouilleul at laposte.net
Mon Sep 27 15:30:52 CEST 2004


Sigmund,

you are right, after re-doing a bootstrap and the rest, everything 
compiled and linked neatly,

however I've noticed that libmp4.c ended up in both libmkv_a-libmp4.o 
and libmp4_plugin_a-libmp4.o, which are respectively linked in vlc.exe 
and libmp4-plugin.dll. Hence,am i right to assume that assume libmp4.c 
is no longer needed in the plugin ?

Damien

Sigmund Augdal wrote:

>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