2017-05-03 1 views
1

Visual Studio 2017에서 코드 분석을 사용하려고하지만 Qt를 사용하고있어 헤더에서 많은 경고를받습니다. 경고를 해제하려고 시도했습니다.VS2017의 외부 헤더에 대한 경고 표시 안 함 코드 분석

#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 외부 헤더에 대한 코드 분석을 비활성화하려면 어떻게합니까? 당신이 당신의 .vcxproj 파일을 열 경우

+0

여기에 Visual Studio가 없지만 솔루션 프로젝트에서 코드 분석 경고가 사용되지 않도록 설정되었습니다. 솔루션 프로젝트에는 "분석 결과 비활성화"또는 "분석 결과 표시 안 함"과 같은 분석 기능이 있고 규칙 세트를 비활성화 할 수도 있습니다. 분석에는 규칙이 있으며 거기에서 경고를 비활성화 할 수 있습니다. – Gibet

+0

하지만 전체 코드베이스의 경고를 비활성화합니다. 그냥 외부 헤더를 무시하고 싶습니다. – parsley72

답변

2

, 바닥 아래로 당신은 볼 수 :이 아래

<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> 

Microsoft는 CAExcludePathIncludePath을 덮어 씁니다 버그가 말할 그러나 이것은 Visual Studio 2017 V15.3로 고정되어 있으며 CAExcludePath 만 설정하면됩니다. 확인하지는 않았습니다.

이 대답은 How can I suppress warnings for external headers in VS2017 Code Analysis?

+1

이 솔루션을 사용해 보았지만 작동하지 않습니다. CAExcludePath가 올바르게 설정되어 있지만 여전히 경고가 표시됩니다. 타사 헤더. 버전 15.2 (26430.6) Release를 사용하고 있으며 Microsoft.CodeAnalysis.Targets에서도 CAExcludePath를 설정하려고 시도했지만 성공하지 못했습니다. – Quarra

+0

또한이 속성 시트를 "사용자 매크로"로 드롭 할 수 있습니다. "이 매크로를 빌드 환경에서 환경 변수로 설정"이라는 상자를 선택해야했습니다. –

관련 문제