Mic*_*ith 15 c++ visual-studio
我是C++核心指南的忠实粉丝,我喜欢在我工作的所有项目中都遵循它们,因此我在项目模板中启用了以下选项Visual Studio 2017:
这个工具很棒,可以帮助我编写更好的代码,但我根本无法弄清楚如何让它只分析我的文件.每当我的项目有一个依赖项,如Boost或OpenCV时,我都会被贴上一层警告:
这些依赖项是通过vcpkg添加的,但是,手动添加它们时会发生同样的情况C/C++ > General > Additional Include Directories.
有没有办法只将这些警告应用于项目文件,而不是所有包含的文件?
正如评论中所提到的,紧接在.vcxproj文件末尾的以下部分之后:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
Run Code Online (Sandbox Code Playgroud)
可以通过在上述部分之后添加以下内容来解决该问题:
<PropertyGroup Condition="'$(Language)'=='C++'">
<CAExcludePath>$(QTDIR)\include;.\GeneratedFiles;$(CAExcludePath)</CAExcludePath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用的是vcpkg,在我的情况下就是这种情况,您需要将以下元素添加到CAExcludePath:
$(VcpkgRoot)include
Run Code Online (Sandbox Code Playgroud)
这将确保不会分析来自任何包的所有标头.