如何使用ffmpeg以便不需要在你的app文件夹中包含它的dll?

时间:2010-12-08 19:42:31

标签: c++ c windows ffmpeg

所以我的观点是为c / C ++ windows开发人员找到.lib形式的普通ffmpeg,以便能够在我的应用程序中包含所有需要的函数 - 所以说一个exe没有额外的dll。

所以我正在寻找它的窗口/autobuilds/来搜索这样的.lib文件数组。至于现在最接近我想要的是带有.lib和.dll.a文件的ffmpeg-swscale-mingw32-shared-dev \ lib文件夹。问题是我对C / C ++开发很陌生,所以我想知道这个构建是我需要的还是我还需要别的东西?

毕竟ffmpeg mingw32共享开发构建的.dll.a文件是什么?

2 个答案:

答案 0 :(得分:3)

共享版本将依赖于外部DLL,您需要找到静态构建的FFmpeg库,以便它们链接到exe。

您将始终需要以下文件:

<强> libavcodec.a

<强> libavformat.a

<强> libavutil.a

还有 可选 组件,具体取决于您的代码:

<强> libavfilter.a

<强> libavdevice.a

<强> libswscale.a

答案 1 :(得分:3)

您应该知道,如果您打算以这种方式分发链接到FFmpeg的程序,您必须使程序自由/开源或至少分发程序的目标文件,以便最终用户可以重新链接它FFmpeg的修改版本。如果您选择后一个选项(即如果您不想制作程序免费软件),则必须确保您的静态FFmpeg库省略了可选的GPL许可功能,否则您的使用将是侵权行为并且是您唯一的方式能够摆脱困境的是在GPL兼容许可下发布你的整个程序。