|
From: Kai T. <kti...@go...> - 2011-09-10 19:55:20
|
2011/9/10 Kyle <ksh...@gm...>: > On 9/10/2011 6:52 AM, PcX wrote: > > 于 2011/9/10 18:51, PcX 写道: > > i686-w64-mingw32-gcc -Wl,--as-needed -Wl,--warn-common > -Wl,-rpath-link=libpostproc:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil > -o ffmpeg_g.exe ffmpeg.o cmdutils.o -Wl,--start-group > -Llibavcodec -Llibavdevice -Llibavfilter > -Llibavformat -Llibavutil -Llibpostproc -Llibswscale > -L/home/kyle/software/ffmpeg/packages/sdl/sdl-1.2.14-win32/lib > -lavfilter -lavformat -lavcodec > -lpostproc -lswscale -lavutil -lavicap32 -lpsapi -lole32 -lstrmiids > -luuid -lws2_32 > -L/home/kyle/software/ffmpeg/packages/sdl/sdl-1.2.14-win32/lib -lmingw32 > -lSDLmain -lSDL -lm -luser32 -lgdi32 -lwinmm -ldxguid -lm -lpthread > -lpsapi -lavdevice > -Wl,--end-group > > As is, adding -Wl,--start-group and -Wl,--end-group > > Trying that command gives the same error. I did however recheckout my source > and checked if objdump could find it this time (I did a small modification I > forgot about in an attempt to fix this). > > I'm not sure if this makes any difference, but the command > i686-w64-mingw32-objdump -x "./libavdevice/avdevice.dll" | grep > "avdevice_register_all" now reads: > [ 49](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 1) 0x000004c0 > _avdevice_register_all > > instead of: > [ 187] avdevice_register_all > [ 49](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 1) 0x000004c0 > _avdevice_register_all > > I apologize for the mixup, that was my mistake. Yes, this makes a difference. As this means that this symbol isn't exported from the DLL. Means avdevice sources needs a __declspec(dllexport) for the symbol avdevice_register_all. Regards, Kai |