gpt4 book ai didi

c++ - 防止 gcc 在包含搜索路径上搜索当前目录 "-I-"选项

转载 作者:可可西里 更新时间:2023-11-01 15:21:54 27 4
gpt4 key购买 nike

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

如果 header A 包含 header B,gcc 会在 A 所在的同一目录中查找 B,但不遵循搜索路径。所以我们在 gcc 上使用了 -I- 选项来防止这种情况发生。 Gcc 将严格遵循 include-path 的层次结构。与 gcc4 一样,-I- 选项已被弃用并由 -iqoute 取代。我无法弄清楚如何使用 -iquote 选项获得相同的行为,因为我认为它没有在“当前”目录中禁用搜索的副作用。

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

有什么想法可以实现相同的行为吗?

最佳答案

据我所知,除了使用 #include <foo.h> 表格之外,没有其他方法可以取消您所提示的行为。而不是 #include "foo.h"在您的代码中。

ISTR,但我没能找到关于弃用 -I- 的理由的引用资料在没有为该方面提供另一种机制的情况下,库通常使用 #include "foo.h" 的形式。以确保他们获得自己的内部头文件 foo.h和使用 -I-在某些情况下,如果其他人恰好在搜索路径上有一个名称相似的文件,则在某些情况下会破坏它们。

关于c++ - 防止 gcc 在包含搜索路径上搜索当前目录 "-I-"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12353429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com