cppcheck --suppress 命令行参数不起作用
Posted
技术标签:
【中文标题】cppcheck --suppress 命令行参数不起作用【英文标题】:cppcheck --suppress command line parameter doesn't work 【发布时间】: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
参数中使用相同的路径。
【参考方案1】:
抑制需要匹配结果中的文件路径。
如果您指定一个相对文件夹/文件来检查它是直截了当的,您可以只使用当前文件夹中的结构。
但是,如果您使用--project
或绝对路径进行检查,则需要指定-rp
(如“根路径”)以告诉Cppcheck 文件路径的基础。在您的情况下,只需添加 -rp=.
即可解决问题 - 至少它将结果中的路径从绝对路径更改为相对路径,这是您必须在抑制中使用的路径。
【讨论】:
以上是关于cppcheck --suppress 命令行参数不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何为 C++ 代码使用 cppcheck 的内联抑制过滤器选项?