[FFmpeg-user] How to build for static ffmpeg executable

John Pompeii lksm6 at yahoo.com
Thu Jan 21 15:52:20 CET 2016




Hi,
I am building ffmpeg.exe and ffprobe.exe on 64 bit windows (7) using MSYS2/MINGW64.  I've resolved all the dependent libraries and got a build and it does appear to run just fine as a 64 windows app.  This issue that I have is that its linking the external libraries as dlls instead of static libs.  I build the ffmpeg libs as static and assumed that the build would statically link all libraries, but not so. 

Can someone let me know how to build version of ffmpeg.exe that doesn't require dlls for the dependent libraries (including the compiler and gnu runtimes) for windows?  In the binary packages distributed by ffmpeg, these dependent dlls are not there for the windows versions, regardless of a static or shared lib build, so I'm missing something in the way I'm configuring the build.

thanks,--john

The configure command line I'm using is:./configure --prefix=/mingw64/share/ffmpeg/rel --disable-ffplay --disable-ffserver --disable-doc --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-iconv --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora  --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libzimg --enable-lzma --enable-zlib

The DLL's required to load and run ffmpeg.exe are:libbz2-1.dll
libfontconfig-1.dll
libfreetype-6.dll
libgcc_s_seh-1.dll
libglib-2.0-0.dll
libharfbuzz-0.dll
libiconv-2.dll
libintl-8.dll
liblzma-5.dll
libopenjpeg-5.dll
libstdc++-6.dll
libtheoradec-1.dll
libtheoraenc-1.dll
libwavpack-1.dll
libwinpthread-1.dll
libx265.dll
libzimg-2.dll
SDL.dll

It would seem that some libs (such as x264) are linking statically



  


More information about the ffmpeg-user mailing list