Eclipse cdt Eclipse CDT灰显#ifndef下的错误代码部分

Eclipse cdt Eclipse CDT灰显#ifndef下的错误代码部分,eclipse-cdt,syntax-highlighting,include-guards,Eclipse Cdt,Syntax Highlighting,Include Guards,我的头base.h包含 #ifndef GUARD_H #define GUARD_H <my code> #endif \ifndef-GUARD\u H #定义防护装置 #恩迪夫 Eclipse CDT正在使#ifndef GUARD_H下面的所有内容变灰。如果定义了GUARD_H,则这是正确的,但它不是。 实际上,在我的系统中定义它的唯一地方是下面这一行,正是为include-guard设计的。 所以,我不明白为什么会发生这种情况 此外,在我一生中在EclipseCDT

我的头
base.h
包含

#ifndef GUARD_H
#define GUARD_H

<my code>

#endif
\ifndef-GUARD\u H
#定义防护装置
#恩迪夫
Eclipse CDT正在使
#ifndef GUARD_H
下面的所有内容变灰。如果定义了
GUARD_H
,则这是正确的,但它不是。 实际上,在我的系统中定义它的唯一地方是下面这一行,正是为include-guard设计的。 所以,我不明白为什么会发生这种情况

此外,在我一生中在EclipseCDT下使用的数百个标题中,特别是在当前项目中,这是我第一次看到这样的东西

为什么会发生这种情况? 如何解决此问题?

使用 面向C/C++开发人员的Eclipse IDE,版本:2018-09(4.9.0),构建id:20180917-1800
在Win 10下。

如果不了解更多有关项目设置的信息,很难说。通常,当在多个上下文(宏环境)中解析头文件时,由于某种原因,CDT打开了一个错误/不需要的头文件,就会发生这种情况。通常,可以通过使用更精确的方式指定包含来解决这个问题(例如,使用构建输出解析器,它为每个文件分配自己的设置,而不是一组全局包含)。有时,将标题添加到
Preferences->C/C++->Indexer->Index所有特定标题的变体中会有所帮助。(“索引所有头变量”也有帮助,但可能会降低性能。)@HighCommander4-在“在多个上下文中解析(宏环境)”中,我不知道宏环境是什么。你想澄清一下吗?也许是指一些关于这些细节的文档?另请参见编辑的OP.@HighCommander4-我还检查了项目属性->C/C++常规->预处理器包含路径->提供程序->CDT GCC构建输出解析器(我猜您指的是这个),但到目前为止,我不明白它的用途,子设置,以及它的工作原理。@HighCommander4-我尝试将标题添加到
Preferences->C/C++->Indexer->为特定标题的所有变体编制索引。它成功了,现在所有的内部代码都不再变灰了。但是现在
中的
GUARD_H
如果ndef GUARD_H
变灰。我不知道这是什么意思,这是我第一次看到它。PS:两者都没有,也没有帮助我澄清标题变体是什么。@HighCommander4-你可以将你的评论作为答案发布。它实际上帮助了我很多,所以它也可以帮助其他人。如果不了解更多关于项目设置的信息,很难说。通常,当在多个上下文(宏环境)中解析头文件时,由于某种原因,CDT打开了一个错误/不需要的头文件,就会发生这种情况。通常,可以通过使用更精确的方式指定包含来解决这个问题(例如,使用构建输出解析器,它为每个文件分配自己的设置,而不是一组全局包含)。有时,将标题添加到
Preferences->C/C++->Indexer->Index所有特定标题的变体中会有所帮助。(“索引所有头变量”也有帮助,但可能会降低性能。)@HighCommander4-在“在多个上下文中解析(宏环境)”中,我不知道宏环境是什么。你想澄清一下吗?也许是指一些关于这些细节的文档?另请参见编辑的OP.@HighCommander4-我还检查了项目属性->C/C++常规->预处理器包含路径->提供程序->CDT GCC构建输出解析器(我猜您指的是这个),但到目前为止,我不明白它的用途,子设置,以及它的工作原理。@HighCommander4-我尝试将标题添加到
Preferences->C/C++->Indexer->为特定标题的所有变体编制索引。它成功了,现在所有的内部代码都不再变灰了。但是现在
中的
GUARD_H
如果ndef GUARD_H
变灰。我不知道这是什么意思,这是我第一次看到它。PS:两者都没有,也没有帮助我澄清标题变体是什么。@HighCommander4-你可以将你的评论作为答案发布。它实际上帮助了我很多,所以它也可以帮助其他人。