[Libav-user] Link error of static libavcodec: libavcodec/eac3_core_bsf.c:39: undefined reference to `ff_ac3_parse_header'

Paul B Mahol onemda at gmail.com
Tue Jun 12 10:44:08 EEST 2018

On 6/12/18, nurupo <nurupocontributions at gmail.com> wrote:
> Hi,
> I have built a static libavcodec and I'm trying to link it to an
> application. I'm cross-compiling to Windows using mingw32-w64. When linking
> the static libavcodec to my application I get the following errors:
> /root/prefix/lib/libavcodec.a(eac3_core_bsf.o): In function
> `eac3_core_filter':
> /root/ffmpeg-4.0/libavcodec/eac3_core_bsf.c:39: undefined reference to
> `ff_ac3_parse_header'
> /root/ffmpeg-4.0/libavcodec/eac3_core_bsf.c:55: undefined reference to
> `ff_ac3_parse_header'
> It appears that the static libavcodec is missing symbols,
> ff_ac3_parse_header
> specifically.
> I have made a sample build script reproducing the issue which you can
> find attached
> to this email. I'm also attaching the output of running the build script.
> I would be grateful if you could point out what I'm doing wrong when
> building a static ffmpeg 4.0 and how to resolve this error.

You have to disable bsfs (--disable-bsfs)
You have disabled (ac3) parser and that happens because of that.

More information about the Libav-user mailing list