是否有可能在visual studio 2010中编译ffmpeg?

时间:2010-11-23 17:23:34

标签: c++ visual-studio-2010 ffmpeg

是否有可能在visual studio 2010中从ffmpeg编译源代码?这很难吗?

尽可能寻找一些建议(和说明)。 : - )

干杯,

皮特

5 个答案:

答案 0 :(得分:7)

显然,谷歌有人写了一个C99C89“下变换器”,部分原因是让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.exec99conv.exe

博客没有提到这里提到的两件重要事情:

http://libav.org/platform.html#Microsoft-Visual-C_002b_002b

首先,您必须确保您使用的link.exeVisual C linker而不是mingw linker。此外,msys下的msvc toolchain尚不支持共享DLL版本,此时它仅支持静态库构建,因此--enabled-shared无法链接。

答案 1 :(得分:5)

这是不可能的,因为ffmpeg广泛使用C99功能(有充分的理由),并且MSVC不支持足够的标准的角落和缝隙。

但是,您可以使用MinGW构建的C库与Visual Studio项目一起使用。请参阅以下链接以获取所需的所有信息:

  1. 有关使用Visual Studio在Windows上构建/使用库的信息:http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page
  2. 下载:http://ffmpeg.arrozcru.org/autobuilds/

答案 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 \本地\包括

Inttypes C99

答案 3 :(得分:2)

Visual Studio 2013提供了之前缺少的C99支持。现在可以使用Visual Studio 2013构建此ffmpeg。您可以阅读有关新语言/库功能here的更多信息。

另外,请试用Visual Studio 2013 RC here

答案 4 :(得分:0)

根据documentation,这是不可能的。