[vlc-devel] problem with libmkv when compiling VLC.exe on WIN32
Damien Fouilleul
damien.fouilleul at laposte.net
Mon Sep 27 14:43:49 CEST 2004
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
More information about the vlc-devel
mailing list