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
これに対する解決策はありますか?
ありがとうございました。
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
をインストールすると/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)が提供されます。
v4lのサポートは、最近のカーネルバージョン(Ubuntu 11.04に同梱されているものを含む)で削除されました。
[〜#〜] edit [〜#〜]:あなたの質問は 最近のメッセージ に送信されました。 Ubuntu 11.04でOpenCV 2.2をコンパイルする手順を含むOpenCVユーザーグループ。あなたのアプローチは理想的ではありません。
パッチは次のとおりです。 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)
を削除すると、コンパイルできました。
cMakeの削除/無効化with_libv4l
with_v4l
変数は、このライブラリが必要ない場合。