【发布时间】:2021-09-23 13:32:08
【问题描述】:
我最近购买了一本名为《开始 C++20》的书。我一直在寻找开始学习 c++,但我现在意识到我找不到可以运行书中代码的编译器,因为我使用的编译器 (xcode) 不支持 c++ 20,因此出现错误。我我想知道是否有任何编译器可以在我的 mac 上运行,支持 c++20。
【问题讨论】:
-
xcode 是 IDE,而不是编译器。三个主要编译器(GCC、MSVC 和 Clang)都支持大部分但不是全部的 C++20。可以找到汇总表here
-
Xcode 12(和 13 Beta)包括支持大多数 C++20 功能的 Clang 版本。您只需手动输入
c++20即可设置C++ Language Dialect。 -
Visual Studio 2019(最新版本 16.10,在 Windows 上)是目前唯一带有完全支持 C++20 的编译器的 IDE。 Clang 和 GCC 仍然缺少功能。
-
请注意,您必须更改默认设置才能启用 C++20 - 我认为这是您的主要问题。转到您的项目设置/“构建设置”选项卡/查找选项“C++ 语言方言”并提供值“-std=c++20”(选项在下拉菜单中不可用)。 Xcode 不提供 C++20 选择,因为对该标准的支持仍然很差。
-
在过去,将 XCode 称为编译器是有意义的,因为它有自己的补丁 clang 版本,其中未记录的功能差异集来自 clang。但是对于 XCode 13,它似乎是一个以“clang 13”为基础的官方版本。但是标准库还是不一样的。
标签: c++ xcode compiler-errors c++20