MAC OS用ffmpeg编译代码出现的Undefined symbols for architecture x86_64: "_CGLGetCurrentContext", referenced

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

编译的代码在这里:http://blog.csdn.net/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没有放进去的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了悟生死大事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值