v4l2-ctlでビデオデバイスを設定するためのv4l2 APIを学習しています。以前のコードサンプルは古くなってしまい、定義のいくつかはもう動作しません。 v4l2-utilsに表示されているkerhelからAPIのすべてを要求する新しい方法があります。私は、コードにv4l2-utilsのコードの一部を組み込もうとしています。しかし、私は、コンパイラからエラーを取得しています:がv4l2から欠落しています。linux vs uapi/linux
camera.hpp:1038:8: error: 'struct v4l2_ext_controls' has no member named 'which'
ctrls.which = V4L2_CTRL_ID2WHICH(qctrl.id)。
そして:
camera.hpp:1038:43: error: 'V4L2_CTRL_ID2WHICH' was not declared in this scope
ctrls.which = V4L2_CTRL_ID2WHICH(qctrl.id)。
フィールドと定義は、linuxソースツリーの/usr/src/linux-4.6.3-gentoo/include/uapi/linux/videodev2.hにあるファイルにありますが、このファイルはI指定する:
#include <linux/videodev2.h>
コンパイラに正しいファイルを含めるにはどうすればいいですか?
私はv4l2-utilsのソースを勉強していますが、それを理解することはできません。
ありがとうございました。