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_v4lvariables,如果你不需要这个库。