web-dev-qa-db-ja.com

linux / videodev.h:そのようなファイルまたはディレクトリはありません-Ubuntu 11.04のOpenCV

Ubuntu 11.04にOpenCV2.2をインストールしようとしました。ただし、linux/videodev.hファイルに関連するエラーを示すOpenCVコンパイルは失敗します。/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

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

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

59
Niroshan
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 
65
Alberto

現在の答えは不完全です。 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)が提供されます。

87
bukzor

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

[〜#〜] edit [〜#〜]:あなたの質問は 最近のメッセージ に送信されました。 Ubuntu 11.04でOpenCV 2.2をコンパイルする手順を含むOpenCVユーザーグループ。あなたのアプローチは理想的ではありません

3
karlphillip

パッチは次のとおりです。 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_で、_174_行から|| defined (HAVE_CAMV4L2)を削除すると、コンパイルできました。

3
sujit

cMakeの削除/無効化with_libv4lwith_v4l変数は、このライブラリが必要ない場合。

0
Vyacheslav