【问题标题】:Suppress "Unresolved Inclusion" Warning In Eclipse/CDT?抑制 Eclipse/CDT 中的“未解决的包含”警告?
【发布时间】:2019-04-23 13:18:57
【问题描述】:

我找到了很多关于如何通过在Properties -> C/C++ General -> Paths and Symbols -> Includes 中列出标题目录来修复“包含”错误/警告的答案。但是,我正在尝试找出是否可以禁止对故意不存在的包含标头发出警告。

此实例中的文件名为config.h,它是在调用cmake 构建工具后从另一个名为config.h.in 的文件生成的。所以编译代码没有问题。我只是在 Eclipse 中收到突出显示的警告“未解决的包含”。我希望禁止显示此警告,但不知道是否可行。

我尝试了以下方法但不起作用:

#include "config.h" // @suppress("Unresolved inclusion")

显然不是一个严重的问题,但能够抑制它会很好。

【问题讨论】:

  • 为什么不直接将 Eclipse 指向生成的文件所在的位置?
  • 只有在文件已经生成的情况下才有效。
  • 对,就是这个意思:运行cmake,将Eclipse指向正确的目录,一切正常。
  • 这绝对是一个选择。
  • 要记住的一点是,config.h 的内容可能包含 Eclipse 应该知道的宏定义,以便准确解析您的代码的其余部分。

标签: c++ eclipse eclipse-cdt


【解决方案1】:

我不知道如何抑制单个“未解决的包含”注释,但我可以解释为什么 @suppress 对它们不起作用。

Eclipse CDT 中有两个错误/警告注释来源:

  1. 来自代码分析 (CodAn) 模块的那些。这包括语义错误和警告。 (您可以在Preferences | C/C++ | Code Analysis 中查看这些列表。)
  2. 直接来自索引器的那些。这包括语法错误和预处理器错误(包括未解决的包含错误)。

@suppress 是 CodAn 功能,因此,它仅适用于 CodAn 注释。

除了将整个类别隐藏在 Preferences | General | Editors | Text Editors | Annotations | C/C++ Indexer Markers 之外,我不知道第二种注释的类似功能。

【讨论】:

  • 谢谢。我非常感谢您的澄清。
猜你喜欢
  • 2011-08-24
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 2014-01-30
  • 1970-01-01
  • 2022-09-27
  • 2015-04-20
相关资源
最近更新 更多