[Libav-user] Windows compile can't find LAME
Carl Eugen Hoyos
ceffmpeg at gmail.com
Wed Jul 11 14:52:16 EEST 2018
2018-07-11 5:53 GMT+02:00, Jeremy Gregorio
<gunvalkyrie-at-yahoo.com at ffmpeg.org>:
> Thanks. The --arch=i386 was me trying to get 32-bit libraries so I
> could build a 32-bit app on my 64-bit Windows. I didn't want to
> leave users stuck on 32-bit Win7 in a lurch.
Instead you have to call the compiler in a way that makes it produce
32bit binaries (on Posix, that typically means --cc='cc -m32'), if
configure fails to detect that the binaries are 32bit (as is the case for
cross-compilation) you need the --arch option.
> There is a config log.
Good!
> I tried moving the LAME header file to /usr/local/include/lame/lame.h
Once you did that, you can remove at least some of your extra-cflags
> and running this:
> $ ./configure --toolchain=msvc
> --enable-libx264 --enable-libmp3lame
Does x264 (without lame) work?
> --enable-gpl --extra-ldflags=-L/usr/lib
> --extra-cflags=-I/usr/include/lame
> --extra-cflags=-I/usr/local/include/
> --extra-cflags=-I/usr/local/include/lame
Some of them are most likely unneeded.
> --host-ldflags=-L/user/lib
> --extra-ldflags=-L/usr/local/lib
>
> That seems to have gotten me a little further, but I can't seem to get the
> linker to find my libmp3lame.lib file. I think I'm using the --extra-ldflags
> wrong but I don't know how to fix it...
>
>
> require libmp3lame >= 3.98.3 lame/lame.h lame_set_VBR_quality -lmp3lame
> check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame
> check_func_headers lame/lame.h lame_set_VBR_quality -lmp3lame
> test_ld cc -lmp3lame
> test_cc
> BEGIN ./ffconf.xTrLDuO7/test.c
> 1 #include <lame/lame.h>
> 2 #include <stdint.h>
> 3 long check_lame_set_VBR_quality(void) { return (long)
> lame_set_VBR_quality; }
> 4 int main(void) { int ret = 0;
> 5 ret |= ((intptr_t)check_lame_set_VBR_quality) & 0xFFFF;
> 6 return ret; }
> END ./ffconf.xTrLDuO7/test.c
> cl -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS
> -D_WIN32_WINNT=0x0600 -nologo -I/usr/include/lame -I/usr/local/include/
> -I/usr/local/include/lame -c -Fo./ffconf.xTrLDuO7/test.o
> ./ffconf.xTrLDuO7/test.c
> test.c
> ./compat/windows/mslink -L/usr/lib -L/usr/local/lib -nologo
> -LARGEADDRESSAWARE -out:./ffconf.xTrLDuO7/test.exe ./ffconf.xTrLDuO7/test.o
> mp3lame.lib
It seems the linker is searching for "mp3lame.lib" and you provide
"libmp3lame.lib", no?
Please do not top-post here, Carl Eugen
More information about the Libav-user
mailing list