vs2012 MinGW编译ffmpeg 出现libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”

利用vs2012编译ffmpeg出现以下错误:

  libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”
  libavdevice/avdevice.c(40) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(42) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(44) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(46) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(48) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(50) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(52) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(54) : error C2059: 语法错误:“,”
  libavdevice/avdevice.c(56) : error C2059: 语法错误:“}”
  libavdevice/avdevice.c(85) : fatal error C1903: 无法从以前的错误中恢复;正在停止编译
  make: *** [libavdevice/avdevice.o] Error 2

原因是avdevice.c 38行那段代码属于c99规范,vs2012只支持到c89,解决的方法是在C:MinGWmsys1.0in

下添加c99conv.exe以及c99wrap.exe文件,C:MinGWmsys1.0in需要添加在系统的环境变量Path。另外注意

检查ffmpeg configure文件,确定c99wrap.exe cl被执行,详细见下图:

      图1 ffmpeg configure截图

      如有问题加群流媒体/Ffmpeg/音视频 127903734 交流,exe文件可以在群里下载。

视频下载地址:http://www.chungen90.com/?news_3/

 Demo下载地址: http://www.chungen90.com/?news_2

原文地址:https://www.cnblogs.com/wanggang123/p/6119534.html