如何查找包含标头的位置

How to find where header is included

本文关键字:包含标 位置 查找 何查找      更新时间:2023-10-16

我遇到了一些严重的错误,其中一个头文件包含在不同的链接中(即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的每个文本文件,打印每个匹配项以及找到它的文件名和行号。