更新一下(至2020.07)
说在前面的话
微软VS中,版本和组件版本到底有多少个说法,俺目前其实也很迷糊,所以这里只能给出个大概最粗略的信息,供大家参考。
OpenCv中对应的VC版本在Opencv中,对vs的版本采取的是VS对应的尾号版本的方式,比如VS2019version16,那vc16就代表vs2019。是下面这样的关系,
VC版本号 VS对应版本 vc6 VC6.0 vc7 VS2002 vc7.1 VS2003 vc8 VS2005 vc9 VS2008 vc10 VS2010 vc11 VS2012 vc12 VS2013 vc13 VS2014 vc14 VS2015 vc15 VS2017 vc16 VS2019
另一种不同的版本说法这种版本标记大概相当于setup安装工具中可供选择的版本,标记方式是不一样的,比如安装时选择组件 MSVC v141。这个141可和vs2015没什么关系,估计是说编译器的版本。
先给出来源:https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloadshttps://omwtm.blog/2014/12/03/visual-studio-2013-version-numbers-and-updates/
大概是这个样子:
VC7: Visual studio.net VC7.1: Visual studio 2003 VC8: Visual studio 2005 VC9: Visual studio 2008 VC10: Visual studio 2010 VC11: Visual studio 2012 VC12: Visual studio 2013 VC14: Visual studio 2015 VC14.1: Visual studio 2017 (估计微软是这么来的:VC14.10, 11, 12, 13, ...etc) VC14.2: Visual studio 2019 (估计微软会这么来的:VC14.20, 21, 22, 23, ...etc)
如果要细究,子版本还有些子序列号
VS 2012 VersionVersion IDShell – RTM11.0.50727.1Update 511.0.61219.00VS 2013 VersionVersion IDRTM12.0.21005.1Update 112.0.30110.0Update 212.0.30324.0Update 312.0.30723.0Update 412.0.31101.0Update 512.0.40629.0VS 2015 VersionVersion IDRTM14.0.23107.0Update 114.0.24720.00Update 214.0.25123.00Update 314.0.25420.10 官网上vs版本的说法微软的版本到底是咋来的,俺也不明就里,比如去其官网,找到的信息是这样的,
- September 10, 2019 -- Visual Studio 2017 version 15.9.16 Servicing Update
- August 13, 2019 -- Visual Studio 2017 version 15.9.15 Servicing Update
- July 9, 2019 -- Visual Studio 2017 version 15.9.14 Servicing Update
- June 11, 2019 -- Visual Studio 2017 version 15.9.13 Servicing Update
- May 14, 2019 -- Visual Studio 2017 version 15.9.12 Servicing Update
- April 02, 2019 -- Visual Studio 2017 version 15.9.11 Servicing Update
- March 25, 2019 -- Visual Studio 2017 version 15.9.10 Servicing Update
- March 12, 2019 -- Visual Studio 2017 version 15.9.9 Servicing Update
- March 05, 2019 -- Visual Studio 2017 version 15.9.8 Servicing Update
- February 12, 2019 -- Visual Studio 2017 version 15.9.7 Servicing Update
- January 24, 2019 -- Visual Studio 2017 version 15.9.6 Servicing Update
- January 08, 2019 -- Visual Studio 2017 version 15.9.5 Servicing Update
- December 11, 2018 -- Visual Studio 2017 version 15.9.4 Servicing Update
- November 28, 2018 -- Visual Studio 2017 version 15.9.3 Servicing Update
- November 19, 2018 -- Visual Studio 2017 version 15.9.2 Servicing Update
- November 15, 2018 -- Visual Studio 2017 version 15.9.1 Servicing Update
- November 13, 2018 -- Visual Studio 2017 version 15.9 Minor Release
在官网上,最新的vs2019是这么宣传的,
参考地址:https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-v16.3
Visual Studio 2019 version 16.3 Releases- November 20, 2019 — Visual Studio 2019 version 16.3.10
- November 12, 2019 — Visual Studio 2019 version 16.3.9
- November 5, 2019 — Visual Studio 2019 version 16.3.8
- October 29, 2019 — Visual Studio 2019 version 16.3.7
- October 22, 2019 — Visual Studio 2019 version 16.3.6
- October 15, 2019 — Visual Studio 2019 version 16.3.5
- October 10, 2019 — Visual Studio 2019 version 16.3.4
- October 8, 2019 — Visual Studio 2019 version 16.3.3
- October 1, 2019 — Visual Studio 2019 version 16.3.2
- September 25, 2019 — Visual Studio 2019 version 16.3.1
- September 23, 2019 — Visual Studio 2019 version 16.3.0
- Visual Studio 2019 version 16.2 Release Notes
- Visual Studio 2019 version 16.1 Release Notes
- Visual Studio 2019 version 16.0 Release Notes
The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 2019 releases in the following posts:
- Visual Studio 2019 v16.4 Preview 2, Fall Sports, and Pumpkin Spice
- .NET Core Support and More in Visual Studio 2019 version 16.3 - Update Now!
- Visual Studio 2019 version 16.3 Preview 2 and Visual Studio 2019 for Mac version 8.3 Preview 2 Released!
- Visual Studio 2019 version 16.2 and 16.3 Preview 1 now available
- Visual Studio 2019 version 16.2 Preview 2
- Visual Studio 2019 version 16.1 and Preview 16.2 Preview
- Visual Studio 2019: Code faster. Work smarter. Create the future.
显示的是这样的,
VC++ 2017 version 15.8 v14.15 toolset VC++ 2017 version 15.9 v14.16 latest v141 tools VC++ 2017 version 15.9 v14.16 Libs for Spectre (ARM) VC++ 2017 version 15.9 v14.16 Libs for Spectre (ARM64) VC++ 2017 version 15.9 v14.16 Libs for Spectre (x86 and x64) VC++ 2017 版本 15.4 v14.11 工具集 VC++ 2017 版本 15.5 v14.12 工具集 VC++ 2017 版本 15.6 v14.13 工具集
VS2019自带的安装工具显示得更多,
MSVC v140 - VS 2015 C++ 生成工具(v14.00) MSVC v141 – VS 2017 C++ ARM Spectre 缓解库(v14.16) MSVC v141 – VS 2017 C++ ARM 生成工具(v14.16) MSVC v141 – VS 2017 C++ ARM64 Spectre 缓解库(v14.16) MSVC v141 – VS 2017 C++ ARM64 生成工具(v14.16) MSVC v141 – VS 2017 C++ x64/x86 Spectre 缓解库(v14.16) MSVC v141 – VS 2017 C++ x64/x86 生成工具(v14.16) MSVC v142 - VS 2019 C++ ARM build tools (v14.20) MSVC v142 - VS 2019 C++ ARM Spectre 缓解库(v14.22) MSVC v142 - VS 2019 C++ ARM Spectre-mitigated libs (v14.20) MSVC v142 - VS 2019 C++ ARM 生成工具(v14.22) MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20) MSVC v142 - VS 2019 C++ ARM64 Spectre-mitigated libs (v14.20) MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20) MSVC v142 - VS 2019 C++ x64/x86 Spectre 缓解库(v14.21) MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (v14.20) MSVC v142 - VS 2019 C++ x64/x86 生成工具(v14.22) MSVC v142 – VS 2019 C++ ARM Spectre 缓解库(v14.21) MSVC v142 – VS 2019 C++ ARM 生成工具(v14.21) MSVC v142 – VS 2019 C++ ARM64 Spectre 缓解库(v14.21) MSVC v142 – VS 2019 C++ ARM64 Spectre 缓解库(v14.22) MSVC v142 – VS 2019 C++ ARM64 生成工具(v14.21) MSVC v142 – VS 2019 C++ ARM64 生成工具(v14.22) MSVC v142 – VS 2019 C++ x64/x86 Spectre 缓解库(v14.22) MSVC v142 – VS 2019 C++ x64/x86 生成工具(v14.21)
说实话这些子版本要弄清实在令人头大,还好用起来兼容性还可以。
别人的帖
最后我随便找了个别人的帖,大家自己看吧(很多帖子内容大同小异),
------=-----------------------------------------------=------------
CMake区分MSVC版本
https://www.cnblogs.com/coolbear/p/8438240.html
MSVC++ 4.x _MSC_VER == 1000
MSVC++ 5.0 _MSC_VER == 1100
MSVC++ 6.0 _MSC_VER == 1200
MSVC++ 7.0 _MSC_VER == 1300
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)
MSVC++ 14.1 _MSC_VER == 1911 (Visual Studio 2017)
if(MSVC)
if(CMAKE_CL_64)
set(OpenCV_ARCH x64)
set(OpenCV_TBB_ARCH intel64)
else()
set(OpenCV_ARCH x86)
set(OpenCV_TBB_ARCH ia32)
endif()
if(MSVC_VERSION EQUAL 1400)
set(OpenCV_RUNTIME vc8)
elseif(MSVC_VERSION EQUAL 1500)
set(OpenCV_RUNTIME vc9)
elseif(MSVC_VERSION EQUAL 1600)
set(OpenCV_RUNTIME vc10)
elseif(MSVC_VERSION EQUAL 1700)
set(OpenCV_RUNTIME vc11)
elseif(MSVC_VERSION EQUAL 1800)
set(OpenCV_RUNTIME vc12)
elseif(MSVC_VERSION EQUAL 1900)
set(OpenCV_RUNTIME vc14)
endif()