【问题标题】:cppcheck can't find include filescppcheck 找不到包含文件
【发布时间】:2011-10-22 14:19:36
【问题描述】:

cppcheck 甚至找不到像 iostream 这样的标准头文件。有什么想法吗?

我正在使用 Ubuntu 11.04 和存储库中的 cppcheck。

【问题讨论】:

  • 检查是否安装...
  • @tyz:我认为这个想法是 cppcheck 知道没有任何标题的 ANSI/C++。所以我认为它甚至不会理解 gcc 特定的系统头文件等。

标签: c++ cppcheck


【解决方案1】:

cppcheck 在查找 Mac 和 Linux 上的标准包含头文件方面非常糟糕。幸运的是,您可以取消此检查,而只扫描您的自定义头文件:

cppcheck --enable=all --suppress=missingIncludeSystem .

【讨论】:

  • 这个抑制标志给了我以下错误:Unmatched suppression: missingIncludeSystem... 或者这只是意味着检查没有抑制任何错误?那么我可以抑制未抑制的抑制错误吗? O:)
  • 是的,您可以使用 --suppress=unmatchedSuppression 抑制“不匹配抑制”错误。 :)
【解决方案2】:

不建议提供标准 C/C++ 的路径 headers - Cppcheck 有关于 ANSI C/C++ 的内部知识和它 不建议重新定义此已知功能。但是感觉 免费试用。

-I [dir]

给出包含路径。给几个-I参数给几个路径。 首先检查第一个给定路径。如果路径相对于源 文件,这不是必需的。

【讨论】:

  • -I 选项可以让cppcheck 运行很慢,如果你引入了很多标题。
  • 不要将它与“-i”(忽略)选项混淆。
  • 我认为这是一个更好的答案,至少对我来说,我的标题不在项目根目录中。因此,如果抑制警告,则不会检查任何标题。
猜你喜欢
  • 2018-02-28
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 2012-11-01
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
相关资源
最近更新 更多