升级到VS 2019之后,我试图通过禁用一些我不在乎的内容来使C ++警告再次有用,例如C26812
我知道我可以转到每个项目的属性页,并将此字符串添加到“禁用特定警告”中,但这会重复很多(我有很多项目)。因此,我改为尝试更改所有项目通用的DisableSpecificWarnings变量:4996; 6031;%(DisableSpecificWarnings)
如何在Visual Studio 2019中以及在何处更改此全局变量?
项目默认值来自多个.props
文件,这些文件按范围,语言和平台进行组织。这些.props
文件的位置(甚至存在)在版本之间已更改,并且可能取决于VS 2019之前安装的过去版本的历史记录。
识别.props
实际使用的默认值的一种(更安全)方法是创建一个新的C ++项目并查看<Import Project ... />
生成的.vcxproj
文件中的行。例如,我在我的机器上获得以下信息的顺序是递增的。
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
最后一个应该是最具体的,它包含每个用户每个平台的设置。它似乎不再是通过全新的VS 2019安装创建的,但它是从以前的版本继承的,并且在存在时仍会被识别(例如,请参阅Microsoft.Cpp.Win32.user.props文件)。
要查看"$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"
扩展到的内容,请打开项目设置并假装更改配置中的任何可编辑路径,然后单击Edit
下拉菜单,然后将.props
路径粘贴到编辑框中。例如,实际路径将显示在其正下方C:\Users\<user name>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
。
查找磁盘上的文件,或者如果尚不存在则创建它,然后在下方插入以下内容Project/ItemDefinitionGroup/ClCompile
。
<DisableSpecificWarnings>26812;%(DisableSpecificWarnings)</DisableSpecificWarnings>
如果该.props
文件不存在,而您必须从头开始创建它,则完整的文件将是:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<DisableSpecificWarnings>26812;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
</Project>
为了修改每台计算机的默认值而不是每用户的默认值,请执行相同的步骤,但改用其中一个$(VCTargets)
文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句