c++ - 有选择地禁用第三方库的 C++ Core Guidelines Checker

标签 c++ visual-studio c++11 boost code-analysis

我想尝试使用 Core Guidelines checker tool在 VS2015 下的 C++11/14 项目上。

在我的代码中,我使用了很多来自 Boost 的库,它们触发了很多警告。我不关心这些警告,因为 Boost 正在做很多非常聪明的工作,并且编写库的目的不是为了符合指南,它们大多早于指南。

但是面对如此多的警告,我无法在我的代码中找出真正的问题(至少根据工具)。

有没有办法抑制第三方代码的所有警告?也许#including boost headers前后有一些属性?

我已阅读 this page来自 Visual C++ 团队博客,但我找不到它。

最佳答案

有一个未记录的环境变量 CAExcludePath,用于过滤来自该路径中文件的警告。我通常在 %CAExcludePath% 设置为 %Include% 的情况下运行。

您也可以在 MSBuild 中使用它,示例见此处(成功与否):Suppress warnings for external headers in VS2017 Code Analysis

MSVC 正在研究类似于 GCC 的系统 header 的东西,应该是针对此问题的更全面的解决方案。

关于c++ - 有选择地禁用第三方库的 C++ Core Guidelines Checker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45785126/

相关文章:

c++ - 析构函数隐藏在这段代码的什么地方?

.net - MSBuild 项目引用 :private ("Copy Local") - what are the allowed values and behaviour?

c# - 查看是否正在调试其他程序集

visual-studio - 为什么 Intellisense 不适用于一个单元测试项目?

c++ - 将argpack分成两半?

c++ - boost::dynamic_bitset 的逆序

c++ - 这个构造是什么意思?

c++11 - boost::asio::bind_executor 不在 strand 中执行

c++ - 改进代码的指南

c++ - 给定一个字符串,我如何才能将另一个字符串中的唯一字符添加到它?