从v4l2, Linux vs uapi/ Linux丢失的包括
missing include from v4l2, linux vs uapi/linux
我正在学习通过v4l2-ctl配置视频设备的v4l2 API。很久以前的代码示例已经过时了,有些定义已经不能工作了。有一种新方法可以从内核请求API的所有内容,如v412 -utils所示。我试图将一些代码从v412 -utils到我的代码。然而,我从编译器得到一个错误:
camera.hpp:1038:8: error: 'struct v4l2_ext_controls' has no member named 'which'
ctrl。where = V4L2_CTRL_ID2WHICH(qctrl.id);
:
camera.hpp:1038:43: error: 'V4L2_CTRL_ID2WHICH' was not declared in this scope
ctrl。where = V4L2_CTRL_ID2WHICH(qctrl.id);
字段和定义位于linux源代码树中的一个文件中:/usr/src/linux-4.6.3-gentoo/include/uapi/linux/videodev2.h,但是当我指定:
#include <linux/videodev2.h>
是什么巫术让编译器包括正确的文件?
我一直在研究v412 -utils源代码,但无法弄清楚。
谢谢。
位于/usr/include的文件过期。我已经安装了内核4.3的头文件,并且需要更新版本的头文件。我安装gentoo的解决方案是为sys-kernel/linux-headers添加一个关键字,并安装最新的头文件(4.7)。
结果是UAPI文件在安装到/usr/include时变成了头文件。我可能已经完成了这一点,make headers_install在我的/usr/src/linux目录中,但我不确定这是否比安装linux-headers ebuild更"正确"。我担心冲突。
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 为什么 cmake 许可证<>样式不包括?
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 在Linux下的C 程序中包括AMP.H LIB
- 我在哪里可以找到arm-linux-gneabihf-ld的手册页,更不用说写得很好的手册页了,其中包括-rpath和-
- C++,包括用于size_t的linux/types.h
- 不包括C++头文件 - C++ Linux 的示例应用程序
- c++:包括当代码写在文本编辑器,linux
- Windows(也包括OS X、Linux)上Qt中的高分辨率定期计时器
- 从v4l2, Linux vs uapi/ Linux丢失的包括
- Visual Studio尝试包括linux头文件,尽管if语句