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

Víctor Paesa wzrlpy
Thu Aug 3 16:42:54 CEST 2006


>> 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)

I downloaded MinGW, and attempted:
./configure --enable-shared --disable-static --enable-memalign-hack

I got your error if binutils was binutils-2.15.91-20040904-1.tar.gz

gxf.o(.text+0x787): In function `gxf_header':
variable 'ff_frame_rate_tab' can't be auto-imported. Please read the
documentation for ld's --enable-auto-import for details.

I upgraded to binutils-2.16.91-20060119-1.tar.gz, and then the build
completed succesfully.

I also got a succesful build while using binutils-2.17.50-20060716-1.tar.gz

Hence the MinGW port is indeed in good shape, and MinGW developers should be
adviced to avoid binutils-2.15.91-20040904-1.tar.gz.

Even though your nice web page recommends binutils-2.17.50-20060716-1.tar.gz,
maybe it might be helpful to add a explicit warning to avoid

V?ctor Paesa

P.S. I used gcc 3.4.2 just in case success depends also on compiler version.

More information about the ffmpeg-devel mailing list