Compile ffmpeg on Windows natively with Visual Studio 2013
Downloads
- MSYS (Install it)
http://www.mingw.org/download/installer
Choose at least install options gcc-g++ as below

Then click Installation | Apply Changes - FFmpeg source code
https://github.com/FFmpeg/FFmpeg
- Visual Studio 2013 Free Community Edition (Install it)
https://www.visualstudio.com/en-us/news/releasenotes/vs2013-community-vs
- YASM
http://yasm.tortall.net/Download.html
One time setup
- Rename & copy yasm-1.3.0-win64.exe to C:\MinGW\bin\yasm.exe
- Then rename C:\MinGW\msys\1.0\bin\link.exe to something else (link-removed.exe) so it doesn't obscure MSVC link.exe.

Compile
This is the tricky part. Otherwise configure might run forever without returning or give errors.
You need to launch cmd.exe first to load msvc env variables with vcvarsall.bat amd64 for 64-bit or vcvarsall.bat for 32-bit, then from that window launch msys.bat
Launch cmd.exe and type :
cd "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC" vcvarsall.bat amd64 C:\MinGW\msys\1.0\msys.bat
A new MinGW prompt will open with unix shell, then type :
$> ./configure --enable-asm --enable-yasm --disable-ffserver --disable-avdevice --disable-doc --disable-ffplay --disable-ffprobe --enable-shared --disable-static --disable-bzlib --disable-libopenjpeg --disable-iconv --disable-zlib --prefix=/c/ffmpeg --toolchain=msvc --arch=amd64 --extra-cflags="-MDd" --extra-ldflags="/NODEFAULTLIB:libcmt" --enable-debug $> make $> make install $> cp ffmpeg_g.* /c/ffmpeg/bin
HI, I compile ffmpeg whit VS 2013, when I use ..configure as above, it has error: libavcodec/dxva2.c error initializing cannot convert from GUID to unsigned long. What is error?
I use ffmpeg 4.3.2
Thank you
description: ffmpeg-3.4.4 / windows7 /vs2013
change file: libavcodec/dxva2.c 512 line.
.DecodeProfile = decoder_guid, (GUID don\'t convert unsigned long)
.DecodeProfile = decoder_guid.Data1,