如何判断头文件包含在哪里?

新手上路,请多包涵

我如何知道 g++ 在哪里能够找到包含文件?基本上如果我

#include <foo.h>

g++ 将扫描搜索路径,使用任何包含选项来添加或更改路径。但是,最终,有没有办法告诉我 g++ 选择编译的 foo.h 的绝对路径?如果在无数的搜索路径中有多个 foo.h,则尤其相关。

没有办法做到这一点……有没有办法让 g++ 告诉我在包含默认值和所有包含选项之后它的最终搜索路径是什么?

原文由 harschware 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 531
2 个回答

这将给出列出包含文件的绝对路径的 make 依赖项:

 gcc  -M showtime.c

如果您不希望系统包含(即 #include <something.h> ),请使用:

 gcc  -MM showtime.c

原文由 Sodved 发布,翻译遵循 CC BY-SA 3.0 许可协议

g++ -H ...

还将以一种格式打印包含文件的完整路径,该格式显示哪个标头包含哪个

原文由 Bulletmagnet 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题