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:\MinGW\msys\1.0\bin
下添加c99conv.exe以及c99wrap.exe文件,C:\MinGW\msys\1.0\bin需要添加在系统的环境变量Path。另外注意
检查ffmpeg configure文件,确定c99wrap.exe cl被执行,详细见下图:
图1 ffmpeg configure截图
如有问题加群流媒体/Ffmpeg/音视频 127903734 交流,exe文件可以在群里下载。
视频下载地址:http://www.chungen90.com/?list_53
Demo下载地址: http://www.chungen90.com/?list_52