xcode9 ffmpeg冲突解决:Typedef redefinition with different types ('NSString *' vs 'AVMediaType')

由于项目中使用了ffmpeg库,升级了Xcode9之后,项目中报错如下:
xcode9 ffmpeg冲突解决:Typedef redefinition with different types ('NSString *' vs 'AVMediaType')_第1张图片
706F064C8F64A3AAF95C48C6AC16A1FB.jpg

或者报错信息:Typedef 'AVMediaType' cannot be referenced with a enum specifier xxx....
该类错误是由于ffmpeg库中的AVMediaType与系统的AVFoundation框架冲突了。解决方法很简单:

把编译好的ffmpeg库中libavcodec文件夹下的avcodec.h,libavformat文件夹下的avformat.h及libavutil文件夹下的avutil.h中的AVMediaType改成FFAVMediaType(或其他)即可。

xcode9 ffmpeg冲突解决:Typedef redefinition with different types ('NSString *' vs 'AVMediaType')_第2张图片
屏幕快照 2017-11-17 下午2.24.10.png

你可能感兴趣的:(xcode9 ffmpeg冲突解决:Typedef redefinition with different types ('NSString *' vs 'AVMediaType'))