linux - 错误 "sys/videoio.h - not found"OpenCV 3.1.0

标签 linux opencv ffmpeg libav

我使用 Elementary OS 并尝试安装 OpenCV 3.1.0,我按照 http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/linux_install/linux_install.html 的说明进行操作
另外,我已经安装了 libav 11.7 和 ffmpeg 3.1.3
但是,在 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
我得到:
-- 寻找 linux/videodev.h
-- 寻找 linux/videodev.h - 找到
-- 寻找 linux/videodev2.h
-- 寻找 linux/videodev2.h - 找到
-- 寻找 sys/videoio.h
-- 正在寻找 sys/videoio.h - 未找到
-- 寻找 libavformat/avformat.h
-- 寻找 libavformat/avformat.h - 找到
-- 寻找 ffmpeg/avformat.h
-- 正在寻找 ffmpeg/avformat.h - 未找到
-- 检查模块“libgphoto2”
-- 未找到包“libgphoto2”
在制作之后,
我得到:
../../lib/libopencv_videoio.so.3.1.0:引用一个 av_frame_alloc' sin definir <br> ../../lib/libopencv_videoio.so.3.1.0: referencia a av_frame_free' 罪定义
collect2:错误:ld 返回 1 个退出状态
制作[2]: * [bin/opencv_test_video] 错误 1
制作[1]: *
[模块/视频/CMakeFiles/opencv_test_video.dir/all] 错误 2

有人可以帮助我吗?

最佳答案

你可以引用这个issue ,这对我有用。
我的问题解决了 set -DWITH_V4AL=OFF-DWITH_LIBV4L=ON

After I set WITH_V4L = OFF but still keep WITH_LIBV4L = ON, the configuring skipped the searching of 'sys/videoio.h', and the compilation worked.

关于linux - 错误 "sys/videoio.h - not found"OpenCV 3.1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39439783/

相关文章:

c - 具有多个接口(interface)的 UDP 多播不工作

python-3.x - 为什么 HoughLinesP 输出 3D 数组,而不是 2D 数组?

linux - ffmpeg 编码播放速度非常快。 Audio.mp4 和 Video.mp4 有效,但两者一起无效

matlab - 3 channel 深度图像1 channel

video - 如何使用 ffmpeg 获取 mp4 容器的视频流的偏移量?

android-ndk - 使用 Gradle 2.2.1 加载共享库

Linux bash 脚本 : sorting a list to use

在 linux 中从内核模块控制鼠标指针

Linux 函数分析器输出

android - imread在Android的OpenCV中不起作用