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中修改c++的版本


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 更新

来源:https://docs.microsoft.com/zh-cn/cpp/build/how-to-modify-the-target-framework-and-platform-toolset?view=msvc-170

image-20220319103712341

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)

Microsoft Visual C++ - 维基百科,自由的百科全书 (wikipedia.org)

其它:Microsoft C/C++ 语言符合性 | Microsoft Docs

posted @ 2022-03-21 20:16  赵青青  阅读(6045)  评论(0编辑  收藏  举报