为什么转换到Visual Studio 2017如此 “容易”

2017/5/31 来源:www.arpun.com 作者:小白

与VS 2015相比, Visual Studio 2017在C ++功能方面有重大的飞跃。 我们希望升级到新版本后能让您的日常工作变得更轻松。 http://www.arpun.com/soft/8490.html

这篇文章主要介绍从Visual Studio 2015升级到2017的步骤。 在这个版本中, 我们团队使代码库移动到Visual Studio 2017非常容易。 这里有四个原因。

通过Visual Studio 2017安装程序获取MSVC 2015.3工具集

在Visual Studio 2017中加载使用较老C++工具集的C++工程, 并不会改变C++工程。 这允许你在以前的IDE中加载这个工程, 以备你需要使用之前的IDE加载工程, 或者你仍然有队友把VS没有完全升级到2017。 为了使工程在Visual Studio 2017加载中不受到任何影响, 就像在以前的版本中, IDE支持工程往返。

在以前的版本中, 为了能够构建项目, 必须同时安装最新版本和旧版本的Visual Studio。 现在Visual Studio 2017允许您直接安装MSVC 2015(v140)工具集, 使其便于引导新机器, 通过仅安装所需的工具集而不是整个VS 2015 IDE来减少安装所需的磁盘空间。

  为什么转换到Visual Studio 2017如此 “容易”

  为什么转换到Visual Studio 2017如此 “容易”

MSVC 2017 中的VC运行时与2015二进制兼容

这个版本的Visual Studio中C++编译器和库有很多改进, 这将引导您转换到Visual Studio 2017的最新工具集(v141)- 新的标准一致性功能, 改进的代码生成功能, 更快的构建吞吐量。 然而, 您可能担心您的第三方库依赖关系没有准备好这样的跳转。 我们经常听到客户说对于一个新的C++工具集来说这是第一个迁移拦截器(无论它们将依赖性作为二进制文件还是直接作为源)。

但是, 使用最新的MSVC工具集, 您不需要担心这一点。 这是因为最新的VC运行时与VS 2015的VC运行时二进制兼容。 换句话说, 如果你有一个使用v140平台工具集构建的库, 现在即使你使用v141 MSVC工具集构建代码, 您的二进制文件和使用它的代码也将继续工作。

使用MSVC v141工具集构建的任何二进制文件都将链接到VC运行时的140版本。 VCRedist只是向后兼容, 所以你需要使用你的APP在VS 2017中重新发布最新的VCRedist 140。

C:srcClockAppDebug>dumpbin ClockApp.exe /IMPORTS | findstr .dll

mfc140ud.dll

KERNEL32.dll

USER32.dll

GDI32.dll

COMCTL32.dll

OLEAUT32.dll

gdiplus.dll

VCRUNTIME140D.dll

ucrtbased.dll

Vcpkg上的数百个C ++ 库在Visual Studio 2017中可用

如果你还没有听说过VCPkg, 不用担心 — 这是一个来自微软的开源项目, 以帮助简化在Windows上的开源库的采集和构建。 如果你在一个或多个开源依赖项上使用Visual Studio 2015中的Vcpkg, 那么你会很乐意知道这些库(在编写本文时接近180), 使用MSVC v141工具集编译, 并可以在Visual Studio 2017工程中使用。

因为v141与v140是二进制兼容的, 所有已经有的包将继续工作, 而不需要重新编译; 然而, 我们建议重新编译, 这样你可以体验我们添加到v141编译器的新的优化!

MSVC编译器版本转换为19.1(从Visual Studio 2015中的19.0)

最后很重要的一点, MSVC v141工具集的编译器部分仅在Visual Studio 2017中作为次要版本进行了改进。 请注意, 我们将继续朝着C++ 一致性以及代码的生成功能方向进行改进。 在进行这些改进后, 您可能需要进行某些更改以使您的代码符合标准。 所有这些更改都记录在docs.microsoft.com 的Visual Studio 2017主题中的C++ 一致性改进。

  为什么转换到Visual Studio 2017如此 “容易”

采取行动

Visual Studio 2017具有许多新功能, 还不赶紧去使用。 这就是为什么使项目从Visual Studio 2015转换变得 “太容易”。

网友评论
评论(...
全部评论