vs版本与version(内部版本号)的关系表table

为什么要查vs版本与内部verion的对应关系?

因为c++的项目需要对应的vs版本,给大型的c++项目升级vs版本是个耗时的工程,所以一般情况下开发者都会安装多个版本的vs。

对于sln文件,以文本形式打开,可以看到一个version,这个是vs内部版本号,而我们安装电脑上的是以年份命名的版本。


vs版本与version关系表

VC 版本 _MSC_VER宏的值 VS 版本 MSVC toolset version
VC6.0 1200 VS 6.0
VC7.0 1300 VS2002
VC7.1 1310 VS2003
VC8.0 1400 VS2005 80
VC9.0 1500 VS2008 90
VC10.0 1600 VS2010 100
VC11.0 1700 VS2012 110
VC12.0 1800 VS2013 120
VC14.0 1900 VS2015 140
VC15.0 [1910,1916] VS2017 141
VC16.0 [1920,1929] VS2019 142
VC17.0 [1930,) VS2022 143

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


不同vs版本的sln文件

vs2022的sln

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33530.505
MinimumVisualStudioVersion = 10.0.40219.1

vs2012的sln

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unit Tests", "Unit Tests", "{92CDE9E4-1F35-4BE2-9C48-D67E531895E6}"
EndProject

vs2005的sln

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "welcome", "welcome.vcproj", "{7F631441-58DA-44E2-A99D-5416927CD8BA}"
	ProjectSection(ProjectDependencies) = postProject
		{8C3F510E-8D6E-479D-96ED-FD78EFD5F7D5} = {8C3F510E-8D6E-479D-96ED-FD78EFD5F7D5}
		......
	EndProjectSection
EndProject

vs不同版本支持的c++版本和PlatformToolset,及在vs中切换c++版本 - 知乎 (zhihu.com)

MSVC_TOOLSET_VERSION — CMake 3.27.0-rc3 Documentation

Predefined macros | Microsoft Learn


posted @ 2023-06-26 23:15  赵青青  阅读(94)  评论(0编辑  收藏  举报