【问题标题】:cppcheck-vs-addin - How to remove folder from checkcppcheck-vs-addin - 如何从检查中删除文件夹
【发布时间】:2018-04-19 16:19:47
【问题描述】:

我正在尝试将cppcheck-vs-addin 配置为在保存时自动检查我的代码。到现在为止还挺好。但是,当我在整个项目上运行它时,我想排除几个文件夹(包含我无法控制的源和标题)。

我试图排除的文件位于文件夹 libs\something\files.* 文件夹树类似于

src 
  | Folder A
  | Folder B
libs
  | LibsA
  | LibsB

到目前为止我已经尝试过什么:

-在设置中,我在附加参数字段中添加了 -ilibs

-在编辑解决方案抑制/排除包含路径:.*\\libs\\.*(这应该适用于头文件,但我也有源文件)

-在编辑解决方案抑制/从检查中排除的文件.*\\libs\\.*(此选项似乎仅适用于文件名,而不适用于包含文件夹,因此在这种情况下它什么也不做)

另一个问题,是否可以查看正在运行的 cppcheck.exe 命令?它可以帮助理解我在做什么。

【问题讨论】:

    标签: visual-studio plugins static-code-analysis cppcheck


    【解决方案1】:

    如果您已安装 CPPCheck(并且它位于默认位置),请将路径 C:\Program Files (x86)\Cppcheck 添加到环境变量。现在从您的项目属性更新您的预构建事件并直接从那里调用 cppcheck。检查此图像如何指定 PreBuild 事件

    Visual Studio C++ Project Property Page to setup Pre-Build Event

    现在您可以提供参数以从扫描中排除目录(如任何第三方代码等)。

    cppcheck --project=$(MSBuildProjectFullPath) -i "$(ProjectDir)foo\src\" --output-file="$(OutDir)$(TargetName).xml"
    

    --project=$(MSBuildProjectFullPath) 选择您当前的项目文件(.vcproj 或 .vcxproj)文件,

    -i 指定要从扫描中排除的目录

    --output-file="$(OutDir)$(TargetName).xml" 在项目输出目录中创建带有分析结果的输出文件。

    要查看详细参数列表,请在命令行中输入 cppcheck --help

    【讨论】:

    • 这个解决方法应该可以工作,你基本上是在本地调用 cppcheck,但你完全绕过了插件。所以我们在IDE内部没有错误显示
    猜你喜欢
    • 2015-09-06
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多