Summary
AMF headers v1.4.36 ship AMF/components/DisplayCapture.h with a bare extern "C" block not guarded by #ifdef __cplusplus. FFmpeg's libavfilter/vsrc_amf.c is a C translation unit that includes AMF headers directly, so under the mingw-w64 GCC cross-compiler it fails:
DisplayCapture.h:43:8: error: expected identifier or '(' before string constant
43 | extern "C"
make: *** [libavfilter/vsrc_amf.o] Error 1
AMF headers are Windows-only (BUILD_AMF=1 only on win-x64), so this breaks every win-x64 build (all licenses).
Workaround
deps.json holds amf at v1.4.35 on win-x64 via a platform-scoped override; the default tracks latest.
To resolve
When upstream guards the extern "C" (or vsrc_amf.c stops including the offending header), bump the amf default and drop the win-x64 override.
Upstream: https://github.com/GPUOpen-LibrariesAndSDKs/AMF
Summary
AMF headers v1.4.36 ship
AMF/components/DisplayCapture.hwith a bareextern "C"block not guarded by#ifdef __cplusplus. FFmpeg'slibavfilter/vsrc_amf.cis a C translation unit that includes AMF headers directly, so under the mingw-w64 GCC cross-compiler it fails:AMF headers are Windows-only (
BUILD_AMF=1only on win-x64), so this breaks every win-x64 build (all licenses).Workaround
deps.jsonholdsamfat v1.4.35 onwin-x64via a platform-scoped override; the default tracks latest.To resolve
When upstream guards the
extern "C"(orvsrc_amf.cstops including the offending header), bump theamfdefault and drop thewin-x64override.Upstream: https://github.com/GPUOpen-LibrariesAndSDKs/AMF