我想在我的项目中使用 C++17,而不必在开始新项目时总是在属性中更改它。这可能吗?
谢谢!
要仅为新项目更改默认值,请参阅如何更改默认 C++ 模板文件?.
要更改所有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>
有关属性文件的更多详细信息,请参阅我的其他答案,包括在哪里可以找到每台机器的默认值(in $(VCTargets)
),而不是每用户的默认值(in $(UserRootDir)
)。
在 View -> Other Windows -> Property Manager 下编辑属性表 接下来打开项目树,然后打开您希望更改的平台。
此处的设置默认继承相应平台的所有项目配置,因此右键单击“Microsoft.Cpp..User”节点,然后转到 C/C++ -> 语言并设置所需的语言标准,然后单击确定。
您可能需要右键单击项目节点并选择保存,我不确定这是否真的有必要。
你可以通过设置来做到这一点(left down corner) -> command palette.. -> c/c++ Edit configuration(UI)
。它将带您进入 IntelliSense 配置。从那里您可以更改 C 和 C++ 的版本。