Очевидно, что кто-то из Google написал от C99
до C89
"понижающий преобразователь", чтобы заставить ffmpeg
компилировать с Visual Studio
:
http://blogs.gnome.org/rbultje/2012/09/27/microsoft-visual-studio-support-in-ffmpeg-and-libav/
Инструмент, который они написали, в настоящее время только в форме исходного кода. Хотя этот инструмент написан на C
, он использует некоторые специфичные для компилятора включения, специфичные для компилятора Clang
, поэтому в настоящее время вам необходим clang для его компиляции. Мне нужно было собрать все части в Clang
(что зависит от llvm
) и скомпилировать с VS2010
. Хорошо, разобрался с этим, так что теперь у меня есть два скомпилированных инструмента: c99wrap.exe
и c99conv.exe
.
В блоге не упоминаются две важные вещи, которые упоминаются здесь:
http://libav.org/platform.html#Microsoft-Visual-C_002b_002b
Во-первых, вы должны убедиться, что link.exe
вы используете Visual C linker
, а не mingw linker
. Кроме того, msvc toolchain
в msys еще не поддерживает общие сборки DLL
, в настоящее время он поддерживает только статические сборки lib, поэтому --enabled-shared не может связать.