这是绝大多数人发生误解的地方:FFmpeg SVN本身不能用MSVC++编译,但是如果它在MinGW下正确的被编译,那么你可以把生成的dll用在任何支持dll的程序里。 注意你将用到的不是ffmpeg.exe,而是那些dll。 在开始往下阅读之前,你应该确保你完成并理解了编译静态库和编译动态库部分的内容。这不是推荐的,而是必须的。 在msys提示符下输入: lib 如果你看到如下的画面,说明一切OK,注意有Microsoft (R) Library Manager字样。 上面假定了你是在完成了编译动态库后在FFmpeg目录下执行的,如果你还没有编译动态库,那么依次执行如下: cd /c/ffmpeg make distclean ./configure --enable-shared --disable-static --enable-memalign-hack make make install lib 在ffmpeg目录下有三个子目录名字分别为:libavutil、libavcodec 和 libavformat。在这三个目录下都有一个SLIBNAME_WITH_MAJOR.lib这样的文件,分别是avcodec-51.lib、avformat-50.lib 和 avutil-49.lib。MSVC++从这些文件中才能知道dll的导出函数。把这三个文件拷贝到Program Files下的FFmpeg下的lib目录。 现在通过包含include/ffmpeg下的头文件,和使用刚才我们拷贝的那三个lib文件进行链接,就能够编写具备FFmpeg功能的应用程序了。 我提供了一个示例:用MSVC++创建output_example.exe |