it-swarm.com.de

linux/videodev.h: Keine solche Datei oder Verzeichnis - OpenCV auf Ubuntu 11.04

Ich habe versucht, OpenCV2.2 auf Ubuntu 11.04 zu installieren. Die OpenCV-Kompilierung schlägt jedoch fehl, wenn ein Fehler im Zusammenhang mit der Datei linux/videodev.h angegeben wird. Die in/user/include/linux verfügbare Datei heißt 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

Gibt es dafür eine Lösung?

danke dir.

59
Niroshan
Sudo apt-get install libv4l-dev

Bearbeitung für RH-basierte Systeme :

Auf einem Fedora 16 installieren Sie Pygame 1.9.1 (in einer virtuellen Umgebung):

Sudo yum install libv4l-devel
Sudo ln -s /usr/include/libv4l1-videodev.h   /usr/include/linux/videodev.h 
65
Alberto

Die aktuelle Antwort ist unvollständig. Die Installation von libv4l-dev erstellt einen /usr/include/linux/videodev2.h, löst jedoch nicht das angegebene Problem, linux/videodev.h nicht finden zu können. Die Bibliothek liefert aus Kompatibilitätsgründen Header-Dateien, kann sie jedoch nicht dort ablegen, wo sie von Anwendungen gesucht werden.

Sudo apt-get install libv4l-dev
cd /usr/include/linux
Sudo ln -s ../libv4l1-videodev.h videodev.h

Dies liefert einen linux/videodev.h und die richtige Version (1).

85
bukzor

die Unterstützung für v4l wurde in den letzten Kernelversionen (einschließlich der mit Ubuntu 11.04 gelieferten) eingestellt.

EDIT: Ihre Frage ist mit einem Recent Message verbunden, das an die OpenCV-Benutzergruppe gesendet wurde, die Anweisungen zum Übersetzen von OpenCV 2.2 in Ubuntu 11.04 enthält. Ihr Ansatz ist nicht ideal.

3
karlphillip

Der Patch ist hier: https://code.ros.org/trac/opencv/attachment/ticket/862/OpenCV-2.2-nov4l1.patch

Fügen Sie #ifdef HAVE_CAMV4L hinzu

#include <linux/videodev.h>

in OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp und Entfernen von || defined (HAVE_CAMV4L2) aus der Zeile 174 konnte ich kompilieren.

3
sujit

für CMake with_libv4lwith_v4l-Variablen entfernen/deaktivieren, wenn Sie diese Bibliothek nicht benötigen.

0
Vyacheslav