我可以在 VS2019 中使用旧的次要版本的 C++ 编译器吗?

Posted

技术标签:

【中文标题】我可以在 VS2019 中使用旧的次要版本的 C++ 编译器吗?【英文标题】:Can I use older minor version of C++ compiler in VS2019? 【发布时间】:2020-08-19 13:50:31 【问题描述】:

16.7 中引入了一些影响我的错误,我想使用 16.6。

我发现的大部分问题都与使用VS2017编译器有关,我想使用VS 2019编译器,只是旧版本。

我在官方文档中找到的最好方法是删除 VS 并重新安装,但我想避免这种情况。

【问题讨论】:

16.7 中引入了一些影响我的错误 -- 这些错误是什么? 如果您有付费版本,是的。如果您使用的是免费版本,则此功能不可用。 https://developercommunity.visualstudio.com/content/problem/601456/how-can-i-downgrade-to-the-prior-version-of-vs-201.html 这里是付费版本降级选项:https://docs.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release 我很想看一个错误的例子。 @NoSenseEtAl -- See this on experimental features. 【参考方案1】:

我通过以下方式为自己找到了此类问题的解决方案。

    您应该在您的文件夹中找到所选版本的 MSVC 构建工具,例如“Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC XX.YY.ZZZZ。如果您只是升级了 VS,它不会删除旧的构建工具(我希望)。如果确实如此,或者您刚刚安装了较新版本,您可以使用 VS Installer 添加/下载以前版本之一的 MSVC 构建工具。 您应该更改工具集 v142(即 2019)之前版本的 VCTools 的链接。为此,您可以更改位于“2019\Enterprise\VC\Auxiliary\Build”之类的文本文件。我们感兴趣的文件是“Microsoft.VCToolsVersion.v142.default.txt”和“Microsoft.VCToolsVersion.v142.default.props”。 那个简单的文件只包含用于 Toolset v142 的 MSVC 工具版本的名称 这些更改将影响使用工具集 v142(即 VC2019 编译器)构建所有项目

【讨论】:

【参考方案2】:

很抱歉 VS 目前不支持回滚 Visual Studio 更新的功能,您只能按照link 中的方法进行操作。幸运的是,微软已经了解了这个问题,并且回滚更新肯定在他们的积压中。您可以对此issue 投票并表达您的要求。

【讨论】:

以上是关于我可以在 VS2019 中使用旧的次要版本的 C++ 编译器吗?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将 VS2008 配置为使用较旧的 VC++ 编译器进行构建?

在 vs2013 中禁用 c++11 功能

将较新的 Visual Studio 版本与较旧的 MFC 版本一起使用?

旧的调试会话阻止使用 vs 代码在 chrome 中进行调试

MSAccess.SysCmd 将旧 mdb 转换为 accdb,在 vb.net vs2019

如何从 VS 2017 升级到 2019?