Over time, there have been continual requests to make changes to FFmpeg in order for it to build with other compilers, such as the Intel C Compiler and MSVC. While this is a worthwhile goal, it will require a fair amount of work. If clean, non-intrusive solutions can be found to the issues, there is a good chance they can be merged into FFmpeg, and hopefully the goals can be achieved. Currently, there aren't any strong enough efforts carrying enough momentum to properly undertake this task. The purpose of this page is to document known issues and explore proposed solutions, building a knowledge base until there is enough momentum to properly address the issues and achieve the goal of supporting additional compilers. ---- = '''Known Intel C Compiler Issues''' = ---- = '''Known MSVC Compiler Issues''' = === Named Initializers === __Problem__: MSVC does not support C99 named initializers.[[BR]] __Sample of where it's used__: [http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/aacdec.c;h=a206a47acc5685c8bf87eae3b870e7934f2c4d73;hb=HEAD#l2806 aacdec.c] (though it's used frequently throughout the entire project)[[BR]] __Proposed solutions__: Open for proposals === Compound Literals === __Problem__: MSVC does not support C99 [http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Compound-Literals.html compound literals].[[BR]] __Sample of where it's used__: [http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavutil/avutil.h;h=1b09407f872d08aae48150a6909ea527c594c92e;hb=HEAD#l292 avutil.h][[BR]] __Proposed solutions__: Open for proposals the solution is to use a c99 to c89 wrapper script before compilation. see http://ffmpeg.org/platform.html