[gst-devel] Gst-ffmpeg Cygwin compile error

Marko Mikkonen mmikkone at mail.student.oulu.fi
Wed Aug 19 17:04:49 CEST 2009


Hello,

I've been trying to compile ffmpeg gstreamer plugin with cygwin and it won't 
compile.

First some preliminaries: I use Cygwin 1.7 beta, because rtp/rtsp-plugins in 
base plugins need IPv6 stuff and only Cygwin 1.7 beta has them. 
Additionally, I've downloaded, compiled and installed glib-2.20.1 and 
liboil-0.3.16. Other external libraries can be found in Cygwin. Oh, and I 
had to fix glib-2.20.1 a bit: I set the return type of strsignal as char* 
(instead of const char*) in gstrfuncs.c (line 1414). The compilation of 
gstreamer-0.10.24, gst-plugins-base-0.10.24 and gst-plugins-good-0.10.15 
(with ./configure --prefix=/usr --exec-prefix=/usr & make install) all went 
well. But there's a problem with gst-ffmpeg-0.10.8.

After configure, when I try to make, it goes well until I hit this spot:

--------------------------------
Making all in ffmpeg
  CC    gstffmpeg.o
  CC    gstffmpegprotocol.o
  CC    gstffmpegcodecmap.o
  CC    gstffmpegutils.o
  CC    gstffmpegenc.o
  CC    gstffmpegdec.o
  CC    gstffmpegcfg.o
  CC    gstffmpegdemux.o
  CC    gstffmpegmux.o
  CC    gstffmpegdeinterlace.o
  CC    gstffmpegaudioresample.o
  LINK  libgstffmpeg.la

*** Warning: Trying to link with static lib archive 
../../gst-libs/ext/ffmpeg/li
bavformat/libavformat.a.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because the file extensions .a of this argument makes me believe
*** that it is just a static archive that I should not use here.
-----------------------------

There are similar complaints about libavcodec and libavutil. Then there's 
lots of  "undefined references" to this and that, apparently things from 
those libraries. Import libraries are not created (no files with extension 
.dll.a can be found, except libgstffmpeg.dll.a). Static libraries are 
created (libavcodec.a, libavformat.a and libavutil.a). However, dll's are 
also created (cygavcodec-52.dll, cygavformat-52.dll and cygavutil-49.dll). 
Is there a switch of some sort that creates import libraries or is this a 
bug in the gst-ffmpeg build engine or Cygwin 1.7 beta? I've tried a bunch of 
different switches.

-M- 





More information about the gstreamer-devel mailing list