66

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

これに対する解決策はありますか?

ありがとうございました。

4

5 に答える 5

95

現在の答えは不完全です。インストールlibv4l-devすると作成されますが、/usr/include/linux/videodev2.hが見つからないという前述の問題は解決されませんlinux/videodev.h。ライブラリは互換性のためにヘッダーファイルを出荷しますが、アプリケーションがヘッダーファイルを探す場所にヘッダーファイルを配置できません。

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

これにより、、linux/videodev.hおよび適切なバージョン(1)が提供されます。

于 2012-12-25T00:54:50.133 に答える
71
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 
于 2011-05-05T13:49:34.557 に答える
3

v4lのサポートは、最近のカーネルバージョン(Ubuntu 11.04に同梱されているものを含む)で廃止されました。

編集:あなたの質問は、OpenCVユーザーグループに送信された最近のメッセージに関連しています。このメッセージには、Ubuntu11.04でOpenCV2.2をコンパイルするための手順が含まれています。あなたのアプローチは理想的ではありません

于 2011-04-30T19:52:58.860 に答える
3

パッチはこちら: 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

于 2011-05-12T14:51:36.397 に答える