如何查找包含标头的位置
How to find where header is included
我遇到了一些严重的错误,其中一个头文件包含在不同的链接中(即stdio.h with和withoun"extern C"(。因此,我需要找到一个特定的头文件包含在哪里。
我知道doxygen,但不幸的是,我感兴趣的标题是stdio.h,它也包含在Qt中。所以(我熟悉的(使用doxygen的唯一方法是扫描整个Qt文件夹。这可能需要很长时间。
那么,在不为项目中的每个标题绘制包含图的情况下,是否可以找到包含一个标题的位置?或者有其他方法可以解决这个问题吗?
您可以尝试gcc -E
来预处理文件,并查看头文件的来源;
或者,您可以只搜索头文件所在的-Ipath
。
我会使用grep:
grep --color --binary-files=without-match -R -n -i "stdio.h" *
这将递归地向下搜索树,检查stdio.h的每个文本文件,打印每个匹配项以及找到它的文件名和行号。
相关文章:
- 在CMake中使用find_package时,是否会显式包含标头
- GCC 包含标头(使用"-include")CMake 未检测到的更改
- 使用预处理指令检查是否包含标头?
- 更智能地在C++中包含保护,以便在不同的命名空间中多次包含标头
- 如何在 c++ 中有条件地包含标头?
- main.cpp 如何知道包含标头的源文件?
- 有没有办法告诉 g++ 编译器,而不是在某个 -I 路径中查找包含标头
- QT 如何包含标头和 cpp 文件
- 在 c++ 中,如果包含标头,为什么我会收到'does not a name of type'错误?
- CLion 无法解析类型 std::unordered_map,即使它提示我包含标头并且编译工作
- 是否可以链接到,包括和使用静态库,而无需额外包含标头/文件
- 为什么包含标头会导致"use of auto before deduction of auto"错误?
- 如何告诉qmake在从dbus xml生成文件时包含标头
- GCC Bug,使用尖括号通过宏包含标头时"linux"路径中的字符串"<>"替换为 "1"
- 如何从平台SDK明确包含标头文件
- 包含标头中的搜索路径因编译器而异
- #include < Dbghelp.h> 不包含标头
- 在 main.cpp 以外的文件中包含标头时出现链接器错误
- 尽管包含标头,G++ 链接器仍无法找到函数
- 如何查找包含标头的位置