vs不同版本支持的c++版本和PlatformToolset,及在vs中切换c++版本
找c++资料从网上找确实更快速,但要想深入地理解vc++建议看msdn文档。
vs不同版本支持的c++版本
C++17:
vs2017基本支持,vs2015部分支持。
C++14:
vs2017就可以完全支持,vs2015基本支持,vs2013部分支持。
C++11:
vs2015及以上可以完全支持。vs2013基本支持,vs2012部分支持,vs2010及以下版本不支持。
数据来源:《VS版本、GCC版本与C++版本的对应关系_Captain--Jack的博客-CSDN博客_c++17 gcc版本》
在vs中设定或修改c++的版本
修改后.vcxproj文件中的PlatformToolset会发生改变,比如我从
方法:选中Project - 右键选择【属性】-- 在打开的窗口中,找到【c/c++ 】- 【所有选项】 - 即可看到【c++语言标准】,从下拉列表中选择一项
注:此图截自vs2017
vs不同版本对应的PlatformToolset(平台工具集)
- Visual Studio 2012:v110
- Visual Studio 2013:v120
- Visual Studio 2015:v140
- Visual Studio 2017:v141
- Visual Studio 2019:v142
- Visual Studio 2022:v143
- 在 Visual Studio 2019 或 Visual Studio 2017 中编译的项目与 2017 和 2015 项目 ABI 后向兼容。 自 Visual Studio 2015 以来,次版本对于每个版本都按 1 更新
Target Platform Version和Platform ToolSet
本质上来说,Platform ToolSet(平台工具集)是用来构建程序的,而 Target Platform Version(这里等同于 Windows SDK)是用来面向你要运行的 Windows 版本的
参考资料:《关于VS项目属性: Target Platform Version 和 Platform ToolSet - BensonLaur - 博客园 (cnblogs.com)》
vc版本与vs版本对应关系
vc版本与vs版本对应关系如下所示:
Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Visual Studio 2017 : vc15
其它资料
C++ 编译器支持情况表_C++中文网 (c-cpp.com)