是否有可能在visual studio 2010中从ffmpeg编译源代码?这很难吗?
尽可能寻找一些建议(和说明)。 : - )
干杯,
皮特
答案 0 :(得分:7)
显然,谷歌有人写了一个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
。此外,msys下的msvc toolchain
尚不支持共享DLL
版本,此时它仅支持静态库构建,因此--enabled-shared无法链接。
答案 1 :(得分:5)
这是不可能的,因为ffmpeg广泛使用C99功能(有充分的理由),并且MSVC不支持足够的标准的角落和缝隙。
但是,您可以使用MinGW构建的C库与Visual Studio项目一起使用。请参阅以下链接以获取所需的所有信息:
答案 2 :(得分:3)
当然有可能
在您的Microsoft Visual C ++项目中使用FFmpeg SVN库, 您必须首先确保您的Microsoft Visual C ++构建系统具有 inttypes.h和stdint.h包含文件。
我如何知道我是否有这些文件?好吧......除非你已经做过 这个并且知道你有那个文件,你没有它。 MSVC ++没有 遵守指定该文件的C99标准,因此您就可以了 你自己在这里。
Alexander Chemeris非常擅长为微软制作此类文件 Visual C ++,所以可以在这里找到它们
从上面的链接下载最新的存档,并将其解压缩到该文件夹 你安装了FFmpeg的包含文件。默认路径是 / usr / local / include,在本指南中为Windows, C:\ MSYS \本地\包括
答案 3 :(得分:2)
Visual Studio 2013提供了之前缺少的C99支持。现在可以使用Visual Studio 2013构建此ffmpeg。您可以阅读有关新语言/库功能here的更多信息。
另外,请试用Visual Studio 2013 RC here。
答案 4 :(得分:0)
根据documentation,这是不可能的。