在VS2017代码分析

时间:2017-05-03 08:57:06

标签: c++ qt visual-studio-2017 static-analysis

我想在Visual Studio 2017中使用代码分析,但我使用的是Qt,它从标题中给了我很多警告。我试过关掉警告:

#pragma warning(push, 0)
#include <QtGlobal>
#pragma warning(pop)

但它没有帮助。我也尝试使用this

#include <codeanalysis\warnings.h>
#pragma warning(push, 0)
#pragma warning(disable : ALL_CODE_ANALYSIS_WARNINGS)
#include <QtGlobal>
#pragma warning(pop)

但没有帮助。如何禁用Qt外部标头的代码分析?

1 个答案:

答案 0 :(得分:5)

如果您打开.vcxproj文件,请在底部看到:

  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
  </ImportGroup>

下面你可以添加:

  <PropertyGroup Condition="'$(Language)'=='C++'">
    <IncludePath>$(QTDIR)\include;.\GeneratedFiles;$(IncludePath)</IncludePath>
    <CAExcludePath>$(QTDIR)\include;.\GeneratedFiles;$(CAExcludePath)</CAExcludePath>
  </PropertyGroup>

微软称有CAExcludePath覆盖了IncludePath的错误,但Visual Studio 2017 V15.3已解决这个问题,您只需设置CAExcludePath - 我没有验证了这一点(我会更新一次)。

这个答案来自How can I suppress warnings for external headers in VS2017 Code Analysis?