【问题标题】:prevent gcc from searching the current dir "-I-" option on include search path阻止 gcc 在包含搜索路径上搜索当前目录“-I-”选项
【发布时间】:2012-09-03 10:08:16
【问题描述】:

我们的开发环境大量使用具有本地修改的标头的目录,编译器应该看到这些目录,而不是“提交的”“存储库”版本。

如果 header A 包含 header B,gcc 会在 A 所在的同一目录中查找 B,并且不遵循 seach 路径。 所以我们在 gcc 上使用了-I- 选项来防止这种情况。然后 Gcc 将严格遵循包含路径的层次结构。 与 gcc4 一样,-I- 选项已弃用并由-iqoute 替换。 我不知道如何使用 -iquote 选项获得相同的行为,因为我认为它缺乏在“当前”目录中禁用搜索的副作用。

http://gcc.gnu.org/onlinedocs/cpp/Invocation.html#Invocation

任何想法如何实现相同的行为?

【问题讨论】:

    标签: c++ search gcc path include


    【解决方案1】:

    AFAIK,除了在代码中使用 #include <foo.h> 代替 #include "foo.h" 之外,没有其他方法可以停用您抱怨的行为。

    ISTR,但我没有找到参考资料,即弃用 -I- 而没有为此提供另一种机制的理由是库通常使用 #include "foo.h" 的形式来确保它们获得自己的内部头文件 @ 987654325@ 和 -I- 的使用在某些情况下会破坏它们,如果其他人碰巧在搜索路径上有类似名称的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 2010-11-01
      • 1970-01-01
      • 2019-02-22
      • 2011-04-26
      相关资源
      最近更新 更多