如何在 usr/include/linux 中搜索头文件
How to search for header files in usr/include/linux
我正在用 Ubuntu 中的 cmake 编写一个C++程序,它使用 /usr/include/linux
中的头文件joystick.h
。默认情况下,如果我使用 #include <joystick.h>
,make
似乎无法在默认目录中找到joystick.h
。因此,我将行include_directories (/usr/include/linux)
添加到CMakeLists.txt
,以便能够找到此标头。
问题是,我现在收到各种错误,例如error: redefinition of ‘struct timeval’
和error: redefinition of ‘struct timezone’
。这似乎是因为在/user/include
和/usr/include/linux
中都有一个标题time.h
。这些文件中的标头保护分别是#ifndef _TIME_H
和#ifndef _LINUX_TIME_H
。因此,我能想到的唯一解决方案是在我的源代码中对joystick.h
路径进行硬编码。
因此,在我看来,由于这些重新定义问题,/usr/include/linux
永远不应该添加到搜索路径中。这是对的吗?我的路径硬编码解决方案是最好的解决方案吗?
除非有理由不这样做(我想可能有),否则似乎只在源文件中使用 #include <linux/joystick.h>
将是这里最简单的解决方案。
相关文章:
- 按单词搜索文件,然后在C++中打印特定行数
- 在C++目录中搜索文件的函数输出中出错
- 按扩展名过滤搜索文件会返回太多结果
- 如何向 g++ 编译器解释如何读取用于从'list'文件中搜索 .h 文件的'include'目录列表
- C++,使用自己的条件搜索文件中的字符串
- C/C++ 从根位置搜索文件夹并返回绝对路径
- 在目录中搜索文件夹
- 搜索文件的特定位置
- 按文件名搜索文件
- 使用扩展功能在整个系统中搜索文件
- 在目录中搜索文件
- 在C++中搜索文件夹
- 生成文件应该在另一个目录中搜索 .o 文件
- 有没有更好的方法来搜索文件中的字符串
- 在 c++ 中搜索文件中的字符串以查找非常大的输入的有效方法
- 如何在子目录中搜索文件
- 如何指定在整个系统中搜索文件的目录
- 如何在visualstudio中快速搜索文件内容以查找大型代码库
- C++显示include搜索文件的位置
- 在计算机中递归搜索文件