我有一个带有一些#include
头文件说明的 C 文件。我知道当我用 gcc 编译 C 文件时,编译器.h
会在环境变量中包含的路径中查找文件$CPATH
。如何获取特定.h
文件的绝对路径?(我更喜欢不编译就获取路径)
问问题
1067 次
2 回答
1
如果您使用 -E 编译,您将获得预处理器输出,并且其中所有包含的文件都将具有其完整路径。例如,在下面,文件“文件”将包含预处理的输出:
gcc -E -o file file.c
于 2013-02-28T23:12:23.667 回答
0
这有点小技巧:
cpp -MD file.c | sed -n '/\.h"/s/.*"\(.*\)".*/\1/p' | sort -u
并且显然取决于cpp
. (以上适用于 gnu cpp 3.4.6)这给出了所有包含文件的完整路径。通过另一个过滤器将其有趣,以将输出减少到您关心的特定标头。
于 2013-02-28T23:00:39.727 回答