0x10 版本关系因为微软的版本比较乱,所以要理清版本,首先需要区分 VS 和 VC 的含义:
VS(Visual Studio): 针对多语言(C++、C#、F#、J#、Asp、Web 等)的 IDE 集成开发环境
VC(Visual C++): 针对 C++ 语言的 IDE 集成开发环境,也称为 MSVC
换言之,VS 包含 VC, VC 只是 VS 的其中一个工具集。
微软历年发布的 IDE 版本如下:
IDE 名称
发布时间
IDE 版本
工具集版本
MSC_VER
MSVC++
系统支持
Visual C++6.0
1998
6
V60
1200
MSVC++ 6.0
WinXP、Win7
Visual Studio 2002
2002
7
V70
1300
MSVC++ 7.0
WinXP、Win7
Visual Studio 2003
2003
8
V71
1310
MSVC++ 7.1
WinXP、Win7
Visual Studio 2005
2005
9
V80
1400
MSVC++ 8.0
WinXP、Win7
Visual Studio 2008
2008
10
V90
1500
MSVC++ 9.0
WinXP、Win7
Visual Studio 2010
2010
11
V100
1600
MSVC++ 10.0
WinXP、Win7
Visual Studio 2012
2012
12
V110
1700
MSVC++ 11.0
WinXP、Win7
Visual Studio 2013
2013
13
V120
1800
MSVC++ 12.0
Win7、Win10
Visual Studio 2015
2015
14
V140
1900
MSVC++ 14.0
Win7、Win10
Visual Studio 2017
2017
15
V141
1910
MSVC++ 14.1
Win7、Win10
Visual Studio 2019
2019
16
V142
1920
MSVC++ 14.2
Win7、Win10
Visual Studio 2022
2022
17
V143
1930
MSVC++ 14.3
Win7、Win10
在 VS 软件里,通常使用 VS 的工具集版本号 V60 ~ V143 来表示各种 VS,而不是 MSVC 的版本。
0x20 查看 VS 工程版本对于一个 VS 工程,要想知道它是用哪个 VC 编译的,只需要用文本打开根目录下的 *.sln 文件,即可在文件开头找到一段版本说明,例如:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32328.378
MinimumVisualStudioVersion = 12.0.40629.0
查上表可知,Visual Studio Version 17 即 Visual Studio 2022。
如果以后工程更换了 VS 版本,可以用同样的方法查找版本。
注意年份不是版本号,微软的版本实在太乱了,很容易混淆
0x30 安装 VS去官网下载社区版 Community 安装即可,目前最新的是 Visual Studio 2022 (个人开发者一般不需要用到专业版)。
安装时选择 使用 C++ 的桌面开发,右边会默认勾选要安装的组件,一般默认就可以,但是这两项:
MSVC v143 - VS 2022 C++ x64/x86 生成工具
Windows 11 SDK (10.0.22000.0)
如果没有勾选的话,必须手动勾选一下,这是 2022 最新的 VC 版本。
0x40 安装多版本 VC但有时只安装最新的 VC 版本,一些旧工程很可能会编译失败。
这时就需要在 VS 2022 同时安装多个 VC 版本,使得当存在其他工程时,可以兼容编译,无需安装两个版本的 VS 。
具体方法为,在安装/修改时, 使用 C++ 的桌面开发 追加勾选历史版本:
MSVC v142 - VS 2019 C++ x64/x86 生成工具
Windows 10 SDK (10.0.20348.0)
MSVC v141 - VS 2017 C++ x64/x86 生成工具
Windows 10 SDK (10.0.19041.0)
MSVC v140 - VS 2015 C++ 生成工具
Windows 10 SDK (10.0.18362.0)
之后当打开 VS 工程时,右击工程 -> 属性 -> 配置属性 -> 平台工具集,就可以在下拉列表中选择已安装的 VC 版本进行编译: