It is a known bug in binutils
which is being used in Zeranoe builds of FFmpeg.
In Release builds of Microsoft Visual Studio by default in Linker options > Optimization > References = /OPT:REF
which strips all FFmpeg references so you don't see them in dumpbin /IMPORTS
.
You need to follow instructions 4.2.1 Linking to FFmpeg with Microsoft Visual C++. There are two options. Either specify /OPT:NOREF
in linker options which is not recommended due to increase of the size of an executable and increase initial loading time of an executable. Or generate new .lib
and .exp
files from .def
, for example, for x86_64:
lib /machine:x64 /def:avcodec-55.def /out:avcodec.lib
lib /machine:x64 /def:avdevice-55.def /out:avdevice.lib
lib /machine:x64 /def:avfilter-4.def /out:avfilter.lib
lib /machine:x64 /def:avformat-55.def /out:avformat.lib
lib /machine:x64 /def:avutil-52.def /out:avutil.lib
lib /machine:x64 /def:postproc-52.def /out:postproc.lib
lib /machine:x64 /def:swresample-0.def /out:swresample.lib
lib /machine:x64 /def:swscale-2.def /out:swscale.lib
Another option is to build FFmpeg by youself.
Another option is to join FFmpeg dev community and move build system from autotools/autoconf/automake to CMake.
Moderators, please fix my broken english.