交叉编译opencv时候ffmpeg选项始终为no的解决方法_opencv ffmpeg no

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

没想到开通博客的第一篇博客竟然是送给交叉编译的……特以此文致敬在编译路上渐行渐远的程序员们。

转载请注明出处。

-------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------

问题来自于在一次在arm开发板上使用opencv的cv::VideoCapture类的open()方法来打开视频文件时候,总是无法成功打开文件,我使用的opencv是3.2.0版的。经过排查,确定是由于没有把ffmpeg模块编译进去导致视频文件读取失败的。下图是编译opencv时候的cmake配置界面(不熟悉cmake的朋友可以先看看网上前辈们的教程,很详细)。

这里出现一个很奇怪的问题,明明上面选择了WITH_FFMPEG,而且对应的库也都找到了,但是在configure之后FFMPEG一直是NO,而且这个问题只有在选择交叉编译工具链之后出现,使用PC的本地编译工具链就没有问题。网上查看configure输出的时候发现如下图的问题。

这里出现一个warning,说FFMPEG的test代码没有构建成功,于是就去查看CMakeList.txt。发现下图的代码片段。原来除了WITH_FFMPEG之外,还有一个HAVE_FFMPEG来打印是否含有FFMPEG模块,于是继续搜索这两个宏的作用。

之后找到了如下图的代码段。原来在定义了HAVE_FFMPEG宏之后,opencv的构建脚本要尝试去编译"${OpenCV_SOURCE_DIR}/cmake/checks/ffmpeg_test.cpp"代码,如果编译通过才会把这个宏置为有效,否则就认为没有相应的FFMPEG的库。

"${OpenCV

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

如果你需要这些资料,可以戳这里获取

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值