如何判断头文件包含在哪里?
我怎么知道g ++能够find包含文件? 基本上如果我
#include <foo.h>
g ++将扫描searchpath,使用任何包含选项来添加或改变path。 但是,在几天结束的时候,有没有一种方法可以告诉g ++select编译的foo.h的绝对path? 特别相关的是,如果在无数的searchpath中有多个foo.h。
有没有办法完成这个…有没有办法让g ++告诉我它的最终searchpath是什么,包括默认和所有包含选项?
这将使依赖关系列出包含文件的绝对path:
gcc -M showtime.c
如果你不想要系统包含(即#include <something.h>
),那么使用:
gcc -MM showtime.c
g++ -H ...
还将打印包含文件的完整path,显示哪个头文件包含哪个文件
确定使用
g++ -E -dI ... (whatever the original command arguments were)
如果使用-MM
或者其中一个相关的选项( -M
等),那么你只是得到了包含所有其他预处理器输出的头文件列表(你似乎用build议的g++ -E -dI
解决scheme)。