I'm developping an application (using the Qt framework that has several dependencies like ffmpeg. Since I'm mostly developping for the MacOS plateform, I use Homebrew to manage my dependencies like ffmpeg.
As a result, I'm facing problem with unexpected API changes when the brew formula changes.
Homebrew mainteners advice me it's a bad practice to handle dependencies via brew. So I wonder what would be the best option?
I'm thinking about adding ffmpeg as a submodule of my project. What's your thought about it?
If you need a specific release of some library which conflicts with default as supplied then
uninstall current release
download source of desired release https://ffmpeg.org/download.html#releases
decompress source code into some location then cd into there
issue as yourself
./configure
carefully examine output and if no sign of ERROR and its finding upstream libraries correctly then issue as yourself one of the following
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
now examine output of make for and errors ... you typically can ignore compile warnings ... if all seems in order then issue (linux/OSX)
sudo make install
this will dist the libraries and executables to the standard locations which are visible for subsequent linking by downstream apps
Now you can compile your downstream code as normal to link to your freshly disted libraries from ffmpeg (there are many)
Above is the simplest case given that you already have installed the developer utilities necessary to compile source (compilers,linkers, ...)
If above fails due to missing or incorrect version of upstream librarie(s), repeat similar steps for those first then return back to compiling ffmpeg (recursive descent into library dependency install madness) ... I find compiling massive numbers of open source libraries easier and more standardized on linux than OSX ... YMMV
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With