【问题标题】:Visual Studio 2017 to only support c++11 features?Visual Studio 2017 仅支持 c++11 功能?
【发布时间】:2018-05-22 21:03:04
【问题描述】:

有没有办法将 MSVC 限制为仅支持 c++11 功能,但不支持 c++14 或 17 的任何功能?

我正在使用 MSVC++ 14.1 _MSC_VER == 1910(Visual Studio 2017 版本 15.0)

谢谢!

【问题讨论】:

  • 如果您“降级”您的项目以使用以前版本的 MSVC 的工具链,您(有效地)限制了受支持的 C++ 标准。如果我没记错的话,toolset 版本 14.00 可能就是您要找的。虽然它仍然有一些 C++14 特性

标签: c++11 visual-c++ visual-studio-2017


【解决方案1】:

看起来不是这样。 MSVC 的 C++ 编译器确实有一个 /std 编译器选项,但 the documentation 只说它可以用作 /std:c++14/std:c++17/std:c++latest(包括 C++20 草案中的一些功能)。

但是,C++11 和 C++14 之间并没有太多巨大的变化,其中许多可以被认为是对 C++11 中不方便或缺少的东西的“修复”。所以也许/std:c++14 对你的目的来说已经足够接近了?

【讨论】:

  • 谢谢!这也是我发现的。
【解决方案2】:

我不知道您要避免哪些特定的 C++14/17 功能,但您可以查看 Microsoft 的 Support For C++11/14/17 Features (Modern C++) 并选择功能集最接近您所寻求的 Visual Studio 版本.

您可以使用该版本的 Visual Studio 或任何更高版本,因为 Visual Studio 支持 compilation with older toolsets,前提是您已安装它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 2011-11-17
    • 2022-11-08
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    相关资源
    最近更新 更多