I am a big fan of the C++ Core Guidelines and I like to follow them in all projects I work on, so I enabled the following option in my project template in Visual Studio 2017:
This tool is great and helps me write better code, but I simply cannot figure out how to make it only analyze my files. Whenever my project has a dependency such as Boost or OpenCV, I will get plastered with a wall of warnings:
These dependencies are added through vcpkg, however, the same thing happens when adding them manually with C/C++ > General > Additional Include Directories.
Is there any way to only make these warnings apply to project files, and not all included files?
1 Answers
Answers 1
As mentioned in the comments, right after the following section in your .vcxproj near the end of the file:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> The problem may be solved by adding the following after the section mentioned above:
<PropertyGroup Condition="'$(Language)'=='C++'"> <CAExcludePath>$(QTDIR)\include;.\GeneratedFiles;$(CAExcludePath)</CAExcludePath> </PropertyGroup> Furthermore, if you are using vcpkg, which was the case in my situation, you will need to add the following element to the CAExcludePath:
$(VcpkgRoot)include This will ensure that all headers from any packages will not be analyzed.


0 comments:
Post a Comment