[Ffmpeg-devel] Re: [RFC] ffmpeg-windows mailinglist?

Víctor Paesa wzrlpy
Thu Aug 3 12:47:40 CEST 2006


Hi,

> On Wed, 2006-08-02 at 11:35 +0200, Luca Abeni wrote:
>> On Wed, 2006-08-02 at 10:49 +0200, Diego Biurrun wrote:
> [...]
>> > Did you experiment with shared libs as well?
>> Sorry, I did not try (I rarely use shared libraries on linux, too ;-). I
>> simply did
>> ./configure --enable-memaling-hack; make
>>
>> This evening I'll try shared libs on mingw and I'll let you know
> Ok, I tried, and I had 3 small problems:
> 1) libavformat/gxf.c, line 201:
>     extern const AVRational ff_frame_rate_tab[];
> somehow, mingw does not like this (ff_frame_rate_tab is defined in a
> different dll). I do not know if some compiler directive can be used to
> make ff_frame_rate visible, or some other hack has to be used (or if the
> problem is limited to my mingw installation ;-)

Under Cygwin I get these info messages while linking avformat, they
mention ff_frame_rate_tab:

gcc -shared -Wl,--out-implib=libavformat.dll.a -Wl,--warn-common
-Wl,--as-needed
-Wl,-rpath-link,/home/wzrlpy/src/FFMpeg-20060802-5893/ffmpeg/libavcodec
-Wl,-rpath-link,/home/wzrlpy/src/FFMpeg-20060802-5893/ffmpeg/libavformat
-Wl,-rpath-link,/home/wzrlpy/src/FFMpeg-20060802-5893/ffmpeg/libavutil
-o cygavformat-50.dll utils.o cutils.o os_support.o allformats.o pnm.o
yuv.o png.o jpeg.o gifdec.o sgi.o framehook.o avio.o aviobuf.o file.o
udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o 4xm.o adtsenc.o aiff.o riff.o
amr.o asf.o asf-enc.o au.o avidec.o avienc.o avs.o crc.o daud.o dv.o
electronicarts.o ffm.o flic.o flvdec.o flvenc.o gif.o gxf.o idcin.o
idroq.o img2.o img.o ipmovie.o matroska.o mm.o mmf.o mov.o isom.o
movenc.o mp3.o mpeg.o mpegts.o mpegtsenc.o mpjpeg.o mxf.o nsvdec.o
nut.o nuv.o ogg2.o oggparsevorbis.o oggparsetheora.o oggparseflac.o
oggparseogm.o psxstr.o raw.o rm.o segafilm.o sierravmd.o smacker.o
sol.o swf.o tta.o voc.o wav.o wc3movie.o westwood.o yuv4mpeg.o
audio.o -L../libavutil -lavutil -lavcodec -L../libavcodec -lz
Creating library file: libavformat.dll.a
Info: resolving _mjpeg_decoder by linking to __imp__mjpeg_decoder
(auto-import)
Info: resolving _mjpeg_encoder by linking to __imp__mjpeg_encoder
(auto-import)
Info: resolving _ff_frame_rate_tab by linking to __imp__ff_frame_rate_tab
(auto-import)
Info: resolving _ff_log2_tab by linking to __imp__ff_log2_tab (auto-import)
Info: resolving _av_crc04C11DB7 by linking to __imp__av_crc04C11DB7
(auto-import)

Maybe your binutils don't support fully auto_import?
Mine are 20050610-1
(By they way, I don't use the newer binutils 20060709-1, they don't link
things properly ffmpeg under Cygwin)

> 2) As already noticed by others, executables are linked to
> libav{util,codec,format}-major.dll, but libav{util,codec,format}.dll are
> installed. I fixed this by changing $(SLIBNAME) with
> $(SLIBNAME_WITH_MAJOR) in the install-lib-shared rule. But I do not know
> if this is the right solution (anyway, linking to one library and
> installing a different one seems strange ;-)


IMHO, $(SLIBNAME_WITH_MAJOR) looks the way to go, I'm thinking that
Cygwin should follow that way, too, because it does not load the
$(SLIBNAME_WITH_VERSION) via the $(SLIBNAME_WITH_MAJOR) symbolic link,
dut to its incomplete symbolic link emulation.


> 3) libraries are installed somewhere that is not in my path, so windows
> does not find them. After changing the PATH environment variable,
> everything worked ok (this is not a real bug: when using shared
> libraries, I often have to set env variables - on linux,
> LD_LIBRARY_PATH).

What about setting $shlibdir the same as $bindir ?

> Anyway, no big problems... I'd say that the cygwin port is in a good
> shape (or that I've been extremely lucky ;-)

MinGW port actually, a close cousin of Cygwin :-)

Regards,
V?ctor Paesa




More information about the ffmpeg-devel mailing list