我想尝试在VS2015下的C++ 11/14项目上使用Core Guidelines checker tool。
在我的代码中,我使用了Boost中的许多库,这些库会引发很多警告。我并不担心这些警告,因为Boost所做的很多聪明的工作,而且编写库的目的并不是要遵循准则,而准则大多早于该准则。
但是,由于出现了如此多的警告,我无法在代码中找出真正的问题(至少根据工具而言)。
有没有一种方法可以禁止所有针对第三方代码的警告?也许在#boost头前后包含一些属性?
我已经从Visual C++ Team博客中阅读了this page,但是我找不到它。
最佳答案
有一个未记录的环境变量CAExcludePath,可从该路径中的文件过滤警告。我通常将%CAExcludePath%设置为%Include%。
您也可以从MSBuild中使用它,请参见此处的示例(混合成功):Suppress warnings for external headers in VS2017 Code Analysis
MSVC正在处理类似于GCC的系统 header 的问题,这应该是对此问题的更全面的解决方案。