处理FFMPEG依赖

时间:2015-04-20 12:12:18

标签: c++ qt ffmpeg dependencies homebrew

我正在开发一个application(使用Qt framework,它有几个依赖项,例如ffmpeg。因为我主要是为 MacOS 平台开发,我使用Homebrew来管理我的依赖项,例如 ffmpeg

因此,当brew公式发生变化时,我遇到了意外的API更改问题。

Homebrew 维护者建议我通过brew处理依赖关系是一种不好的做法。所以我想知道什么是最好的选择?

我正在考虑将 ffmpeg 添加为我项目的子模块。你怎么想的呢?

1 个答案:

答案 0 :(得分:1)

如果您需要某个库的特定版本与提供的默认值相冲突

uninstall current release

download source of desired release https://ffmpeg.org/download.html#releases

decompress source code into some location then cd into there

自己问题

./configure 

仔细检查输出,如果没有ERROR的迹象及其正确查找上游库,则自行发出以下其中一项

make       # only uses one CPU core still works but slower than -jxxx
make -j4   # to speed up make and you have a dual core CPU
make -j8   # to speed up make and you have a quad core CPU

现在检查make和错误的输出......你通常可以忽略编译警告......如果所有看起来都按顺序然后发出(linux / OSX)

sudo make install

这将使库和可执行文件分散到标准位置,这些位置对于下游应用程序的后续链接是可见的

现在你可以正常编译你的下游代码,从ffmpeg链接到你刚刚发布的库(有很多)

上面是最简单的情况,因为您已经安装了编译源代码所需的开发人员实用程序(编译器,链接器......)

如果由于上游库的版本缺失或不正确而失败,请首先重复类似的步骤然后返回编译ffmpeg(递归下降到库依赖安装疯狂)...我发现编译大量的打开源代码库在Linux上比OSX更容易和更标准化... YMMV