如何确定包含路径来自何处?

R.M*_*.M. 7 c++ include-path clang++

我熟悉添加-v到 Clang 编译命令行以查看包含搜索路径顺序的技巧,但这只是显示正在搜索哪些目录。它没有显示为什么要搜索这些目录。

是否有一些选项可以打印有关包含搜索路径设置来自何处的详细信息?(例如,命令行选项、环境、编译设置等)——任何能够提供有关它们为何按顺序排列的更多信息的设置也将受到赞赏。

请注意,我并不想知道特定的包含文件来自哪里(例如,您可以使用-M或获得的信息-H),我感兴趣的是编译器为什么要搜索特定的包含路径


背景:我们正在尝试调试为什么特定路径 (/usr/local/include) 在特定平台 (Mac 10.14) 的搜索目录列表中出现“太高”。我们认为我们的构建系统没有明确请求它,因此更多地了解它的来源将有助于我们弄清楚发生了什么。

Öö *_*iib 2

没有记录如何选择 clang 默认包含路径。它(以及 Mac 上的 gcc)显然不遵循gcc docs。记录了 clang 如何管理这些