我想在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外部标头的代码分析?
答案 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?