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

John Pompeii lksm6 at yahoo.com
Fri Jan 22 06:51:30 CET 2016


Thanks Glen,These flags are the default.  I build with them anyway and got the same result.  the ff* libs are build as static libs but the ffmpeg excutable is linked w/the shared libs for the external libs and runtimes.
here's my cmd line for configure:
./configure --prefix=/mingw64/share/ffmpeg/rel --disable-ffplay --disable-ffserver --disable-doc --enable-gpl --enable-version3 --disable-w32threads --enable-static --disable-shared --enable-avisynth --enable-fontconfig --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora  --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg



      From: G A <glen_alexndr at hotmail.com>
 To: FFmpeg user questions <ffmpeg-user at ffmpeg.org> 
 Sent: Thursday, January 21, 2016 2:12 PM
 Subject: Re: [FFmpeg-user] How to build for static ffmpeg executable
   
specify -—disable-shared —enable-static

Sent from somewhere in … The Twilight Zone

> On Jan 21, 2016, at 06:52, John Pompeii <lksm6-at-yahoo.com at ffmpeg.org> wrote:
> 
> 
> 
> 
> 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
> 
> 
> 
> 
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user


  


More information about the ffmpeg-user mailing list