【问题标题】:cppcheck --suppress command line parameter doesn't workcppcheck --suppress 命令行参数不起作用
【发布时间】:2021-07-12 21:13:03
【问题描述】:

想要抑制某个文件中的所有错误检查。我的命令行命令是

cppcheck --enable=all -j 4 --output-file=out.txt --project=solution.sln --suppress=*:file.cpp

但我的输出文件中的 file.cpp 出现错误。我以前曾经有过非常相似的(据我所知)命令行,它抑制了文件中的所有检查,但是,现在由于某种原因它现在不起作用。我的命令行错了吗?

我知道可以使用抑制文件,但我更喜欢命令行参数,也想弄清楚我做错了什么。

【问题讨论】:

  • 需要为 file.cpp 提供相对路径吗?如果输出文件中的错误具有 file.cpp 的相对路径,请在 --suppress 参数中使用相同的路径。

标签: c++ static-analysis cppcheck


【解决方案1】:

抑制需要匹配结果中的文件路径。

如果您指定一个相对文件夹/文件来检查它是直截了当的,您可以只使用当前文件夹中的结构。 但是,如果您使用--project 或绝对路径进行检查,则需要指定-rp(如“根路径”)以告诉Cppcheck 文件路径的基础。在您的情况下,只需添加 -rp=. 即可解决问题 - 至少它将结果中的路径从绝对路径更改为相对路径,这是您必须在抑制中使用的路径。

【讨论】:

    猜你喜欢
    • 2012-11-28
    • 2017-06-19
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    相关资源
    最近更新 更多