My target is to build a single static FFmpeg binary with libfdkaac and x264 support for OSX and Linux. First, I tried to build one on OSX, I follow the instruction on FFmpeg web: https://trac.ffmpeg.org/wiki/CompilationGuide/MacOSX
Here is the configuration settings I applied to build a static binary:
./configure pkg_config='pkg-config --static' --prefix=/usr/local --extra-version=ntd_20150126 --disable-shared --enable-static --enable-gpl --enable-pthreads --enable-nonfree --enable-fontconfig --enable-libfreetype --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-filters --enable-runtime-cpudetect
After build process, FFmpeg is around 14Mb, which means that it doesn't include the third party libraries. In fact, it requires to link to dynamic libraries located at
/usr/local/lib. If I removed those dynamic libs, the FFmpeg will show an error like:
dyld: Library not loaded: /usr/local/lib/libSDL-1.2.0.dylib Referenced from: /usr/local/bin/ffmpeg Reason: image not found Trace/BPT trap: 5
Is it the right way to make all external libraries into single static binary?
I would be really appreciate for your help!