[Ffmpeg-devel] Win32 Compile Problem
Brian Brice
bbrice
Wed May 17 21:38:50 CEST 2006
Hi guys.
I've been trying to compile ffmpeg with mp3lame support, and so far it
hasn't worked as planned. I have lame's headers and libraries installed
in nonstandard directories, and I thought that I'd be able to specify
these locations with ffmpeg's configure script. Unfortunately for the
Win32 build, the options set with --extra-ldflags are always overwritten.
Here's how I configure:
LAME="$HOME/lame-build"
PREFIX="$HOME/ffmpeg-build"
./configure \
--enable-mingw32 \
--disable-static \
--enable-shared \
--enable-memalign-hack \
--disable-debug \
--enable-mp3lame \
--extra-cflags=-I$LAME/include \
--extra-ldflags=-L$LAME/lib \
--prefix=$PREFIX \
--incdir=$PREFIX/include
And where the compilation error starts:
[build output]
gcc -O3 -Wall -Wno-switch -I/home/bbrice/lame-build/include
-Wdeclaration-after-statement -DHAVE_AV_CONFIG_H -DBUILD_AVUTIL -I..
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o crc.o crc.c
gcc -shared -Wl,-soname,avutil-nt.dll.49
-Wl,--output-def,avutil-nt.def,--out-implib,libavutil.dll.a -o
avutil.dll mathematics.o rational.o intfloat_readwrite.o crc.o -lm
-lmp3lame -lz
c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe:
cannot find -lmp3lame
collect2: ld returned 1 exit status
make[1]: *** [avutil-nt.dll] Error 1
make[1]: Leaving directory `/home/bbrice/ffmpeg-20060508/libavutil'
make: *** [lib] Error 2
Here's a possible patch to fix it(?):
--- common.mak.orig 2006-04-26 22:30:50.000000000 -0500
+++ common.mak 2006-05-17 14:33:28.078125000 -0500
@@ -7,7 +7,7 @@
#FIXME: This should be in configure/config.mak
ifeq ($(CONFIG_WIN32),yes)
-LDFLAGS =
-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
+LDFLAGS +=
-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
endif
ifeq ($(TARGET_GPROF),yes)
--- libavutil/Makefile.orig 2006-04-23 05:28:54.000000000 -0500
+++ libavutil/Makefile 2006-05-17 14:36:40.890625000 -0500
@@ -6,11 +6,6 @@
# NOTE: -I.. is needed to include config.h
CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -DBUILD_AVUTIL -I..
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
-#FIXME: This should be in configure/config.mak
-ifeq ($(CONFIG_WIN32),yes)
-
LDFLAGS=-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
-endif
-
OBJS= mathematics.o \
rational.o \
intfloat_readwrite.o \
--
Brian Brice
In order to know recursion, you must first know recursion...
More information about the ffmpeg-devel
mailing list