J'ai essayé d'installer OpenCV2.2 sur Ubuntu 11.04. Mais la compilation OpenCV échoue en indiquant une erreur liée au fichier linux/videodev.h. Le fichier disponible dans/user/includes/linux est nommé 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
Y a-t-il une solution pour cela?
je vous remercie.
Sudo apt-get install libv4l-dev
Edition pour les systèmes RH :
Sur une Fedora 16 pour installer pygame 1.9.1 (dans une virtualenv):
Sudo yum install libv4l-devel
Sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
La réponse actuelle est incomplète. L'installation de libv4l-dev
crée un /usr/include/linux/videodev2.h
mais ne résout pas le problème posé par l'impossibilité de trouver linux/videodev.h
. La bibliothèque fournit des fichiers d’en-tête pour des raisons de compatibilité, mais ne les place pas à l’endroit où les applications les rechercheront.
Sudo apt-get install libv4l-dev
cd /usr/include/linux
Sudo ln -s ../libv4l1-videodev.h videodev.h
Ceci fournit un linux/videodev.h
, et de la bonne version (1).
la prise en charge de la v4l a été abandonnée dans les versions récentes du noyau (y compris celle livrée avec Ubuntu 11.04).
EDIT: votre question est connectée à un message récent envoyé au groupe d'utilisateurs OpenCV, qui dispose d'instructions pour compiler OpenCV 2.2 dans Ubuntu 11.04. Votre approche est pas idéale.
Le correctif est ici: https://code.ros.org/trac/opencv/attachment/ticket/862/OpenCV-2.2-nov4l1.patch
En ajoutant #ifdef HAVE_CAMV4L
autour de
#include <linux/videodev.h>
dans OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp
et le retrait de || defined (HAVE_CAMV4L2)
de la ligne 174
m'a permis de compiler.
pour CMake supprimer/désactiver les variables with_libv4l
with_v4l
si vous n'avez pas besoin de cette bibliothèque.