linux / videodev.h:没有这样的文件或目录 – Ubuntu 11.04上的OpenCV
我试图在Ubuntu 11.04上安装OpenCV2.2。 但是OpenCV编译失败,指出与linux / videodev.h文件有关的错误。 / user / includes / linux中的文件名为videodev2.h。
/home/user/OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp:217:28: fatal error: linux/videodev.h: No such file or directory compilation terminated. make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_v4l.o] Error 1 make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2 make: *** [all] Error 2
有这个解决scheme吗?
谢谢。
sudo apt-get install libv4l-dev
编辑基于RH的系统 :
在Fedora 16上安装pygame 1.9.1(在virtualenv中):
sudo yum install libv4l-devel sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
目前的答案是不完整的。 安装libv4l-dev
会创build一个/usr/include/linux/videodev2.h
但是不能解决不能findlinux/videodev.h
。 该库提供的头文件的兼容性,但没有把它们放在应用程序将寻找他们的地方。
sudo apt-get install libv4l-dev cd /usr/include/linux sudo ln -s ../libv4l1-videodev.h videodev.h
这提供了一个linux/videodev.h
,并提供正确的版本(1)。
补丁是在这里: https : //code.ros.org/trac/opencv/attachment/ticket/862/OpenCV-2.2-nov4l1.patch
通过添加#ifdef HAVE_CAMV4L
左右
#include <linux/videodev.h>
在OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp
删除|| defined (HAVE_CAMV4L2)
从第174
行|| defined (HAVE_CAMV4L2)
允许我编译。
在最近的内核版本(包括Ubuntu 11.04附带的版本)中,v4l支持已被删除。
编辑 :你的问题是连接到最近发送到OpenCV用户组的消息,它有指示在Ubuntu 11.04中编译OpenCV 2.2。 你的方法并不理想 。
为CMake删除/禁用with_libv4l
with_v4l
variables,如果你不需要这个库。