2

I'm currently building and using FFmpeg on Windows and it works nicely. At present there are 5 relevant DLLs which I load and map relevant functions in as needed. However I am wondering if it is possible to avoid these DLLs by linking FFmpeg statically?

My initial reaction is probably not, because the FFmpeg builds are done with MinGW's GCC and any static libraries generated by those tools will be in a format incompatible with Visual C++. If anyone has looked into this before I'd be curious to know if you had any luck?

I did find this tool: http://www.binary-soft.com/dll2lib/dll2lib.htm. It's expensive but looks like it might do the trick as it converts a DLL directly to a static library.

Thanks.

Richard Viney
  • 957
  • 16
  • 31

2 Answers2

1

There are two possible ways to do this:

  1. Use a C99 to C89 converter on the FFmpeg source code and then build it all as a static library with Visual Studio. There are some details on this at the FFmpeg site here.
  2. Use the improved support for C99 present in Visual Studio 2013 (preview release currently available) to build FFmpeg as a static library directly with Visual Studio.
Richard Viney
  • 957
  • 16
  • 31
1

There are some tutorials to do. And you can even find on the web unofficial Win32 static builds of ffmpeg.

Riduidel
  • 22,052
  • 14
  • 85
  • 185