[Libav-user] libtwolame error at Building FFmpeg

Carl Eugen Hoyos ceffmpeg at gmail.com
Wed Nov 6 02:06:51 EET 2019

Am Fr., 1. Nov. 2019 um 10:32 Uhr schrieb Daneel V <daneelveloper at gmail.com>:
> Hi all,
> I've been building FFmpeg for years in Win64 using Msys2.
> --enable-libtwolame has been always on and working but starting a couple
> weeks ago I'm getting an error when trying to include this library and
> running ./configure command. It says the library is not present or it's
> outdated.
> Msys2 twolame library is up to date to last version and my FFmpeg source
> code is last version via Git.
> I've checked FFmpeg Configure file and it seems it is not locating
> 'twolame_encode_buffer_float32_interleaved' reference into twolame library.
> I've modified the Configure file to ignore the warning and continue but
> at linking time and I got these errors:
> C:/Msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
> libavcodec/libtwolame.o: in function twolame_encode_frame':
> C:\Msys64\home\ion\ffmpeg/libavcodec/libtwolame.c:115: undefined
> reference totwolame_encode_buffer_float32_interleaved'

This looks to me like a bug in the twolame.h header, where "TL_API"
is missing in the line defining totwolame_encode_buffer_float32_interleaved().
Without this define, symbols get not exported in Windows.

More important though: Why do you need libtwolame?
There was mp2 encoding support in FFmpeg since day one...

Carl Eugen

More information about the Libav-user mailing list