问题描述
我想在我的项目中使用C ++ 17,而在启动新项目时不必总是在属性中对其进行更改。这可能吗?
谢谢!
解决方法
在“视图”->“其他Windows”->“属性管理器”下编辑属性表。接下来,打开项目的树,然后打开要更改的平台。
默认情况下,此设置是相应平台的所有项目配置的继承设置,因此,右键单击“ Microsoft.Cpp..User”的节点,然后转到C / C ++->语言,然后设置所需的语言标准单击确定。
您可能需要右键单击项目节点,然后选择“保存”,我不确定这是否确实必要。
,要仅更改 new 项目的默认设置,请参见How to change the default C++ template file?。
要更改 all 个C ++项目的默认设置,请在.props
(通常为$(UserRootDir)
)中查找以下两个C:\Users\<user name>\AppData\Local\Microsoft\MSBuild\v4.0
文件。
Microsoft.Cpp.Win32.user.props
Microsoft.Cpp.x64.user.props
然后在Project/ItemDefinitionGroup/ClCompile
下插入以下内容。
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
如果.props
文件不存在,而您必须从头开始创建它们,则每个文件都将具有以下完整内容。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<ConformanceMode>true</ConformanceMode>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
</ItemDefinitionGroup>
</Project>
有关属性文件的更多详细信息,请参见我的其他答案here,包括在何处查找每台计算机的默认设置(在$(VCTargets)
中),而不是在每用户的默认位置(在{{1 }}。