[MPlayer-cygwin] Updated MPlaer MinGW HOWTO
Joey Parrish
joey at nicewarrior.org
Wed Aug 17 07:18:32 CEST 2005
On Tue, Aug 16, 2005 at 06:01:53PM +0200, Thomas Plank wrote:
> Stefan Gürtler (helfmir at surfeu.de) wrote:
> > Hi folks
> > I had a look over the MPlayer MinGW HOWTO, as x264 now supports building
> > unsing ./configure, make and make install.
>
> And you're sure, that x264 works with mplayer?
>
> I can compile x264, but ./configure of mplayer still says
>
> Checking for x264 ... no
>
> When I have a look at configure.log, there are a lot of complaints about
> unused references, so x264 will not be used.
>
> ============ Checking for x264 ============
>
> #include <inttypes.h>
> #include <x264.h>
> #if X264_BUILD < 29
> #error We do not support old versions of x264. Get the latest from SVN.
> #endif
> int main(void) { x264_encoder_open((void*)0); return 0; }
>
> gcc -static /tmp/mplayer-conf-28785-3536.c -o /tmp/mplayer-conf-22491-3536.o -L/usr/local/lib -lx264 -lm
> /usr/local/lib/libx264.a(csp.o):csp.c:(.text+0x9af): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0xefc): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x3039): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x3123): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x3184): undefined reference to `__assert'
> /usr/local/lib/libx264.a(ratecontrol.o):ratecontrol.c:(.text+0x31a2): undefined reference to `__assert'
> /usr/local/lib/libx264.a(common.o):common.c:(.text+0x392): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(common.o):common.c:(.text+0x625): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0xa6): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0xe1): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0x126): undefined reference to `__imp___iob'
> /usr/local/lib/libx264.a(eval.o):eval.c:(.text+0x207): more undefined references to `__imp___iob' follow
I can explain this. Under cygwin, x264 builds with mingw runtime. So
x264's references to stdio don't link with a cygwin app. That's what
the __imp___iob lines are referencing.
Solutions:
1. configure x264, then remove all instances of -mno-cygwin from
config.mak before running make.
2. build both on mingw.
3. make MPlayer build on cygwin with mingw runtime.
#1 is easy, #2 is not nice if you are very involved in your cygwin
install, and #3 is maybe not that easy.
--Joey
--
All philosophy is naïve.
More information about the MPlayer-cygwin
mailing list