编译的代码在这里:http://blog.youkuaiyun.com/leixiaohua1020/article/details/50618190。
这个代码在MAC OS 10.12,ffmpeg 3.2下没有编译成功。
clang++ simplest_filter_video_pure.cpp -g -o simplest_ffmpeg_video_pure \
-framework Cocoa -I/usr/local/include -L/usr/local/lib/
-lavformat -lavcodec -lavutil -lavfilter -lswscale
可能出现类似下面的错误提醒,会有很多:
Undefined symbols for architecture x86_64:
"_CGLGetCurrentContext", referenced from:
_init in libavfilter.a(vf_coreimage.o)
ld: symbol(s) not found for architecture x86_64
这类问题一般都是库或者framework没有倒入进去。比如上面的这个提醒就是OpenGL的framework没有放进去的原因。

在MAC OS 10.12上使用ffmpeg 3.2编译代码时遇到了Undefined symbols错误,特别是_CGLGetCurrentContext引用未定义。解决方法包括检查是否导入了videotoolbox库,并逐个查找缺失的依赖。经过调整编译脚本和修改enum,最终成功编译。此外,还提示新手在播放YUV时要注意设置正确的宽高比,防止花屏现象。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



