我可以在 Linux 上更新 gcc 以获取 -std=c++17
,但在 Mac 上不能这样做。
是否有我可以更新到的 Clang 版本或其他替代方法来在我的 Mac 上获取 C++ 17?
请帮忙。
谢谢。
最佳答案
在我的 10.11 El Capitan、Xcode 7.3.1 上,clang 已更新为:
Apple LLVM version 7.3.0 (clang-703.0.31)
几乎等同于 llvm 3.8 版。 clang++
没有-std=c++17
选项,但是-std=c++1z
,目前运行良好,虽然只有支持C++1z的一些特性。
对于 gcc,您可以通过以下方式安装一个非常新的:
brew install gcc --HEAD
现在将安装 gcc-6.1 (2016.8)。此 gcc 对 C++17 的支持有限,可以通过 -std=c++17
启用。
一些更新:
最近苹果clang对应的llvm版本不清楚,应该是3.9+或者4+。查看 this wiki page了解更多信息。
brew install gcc --HEAD
应该始终适用于 mac/homebrew,并为您提供具有许多实验性功能的尖端 gnu gcc。另一方面,普通 brew install gcc
现在应该安装支持大多数 c++17 功能的 gcc。
对于语言标准参数,请尝试 -std=c++17
和 -std=c++1z
用于不同的编译器,其中一个应该可以工作。
关于c++ - 如何在 Mac 上启用 C++17?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39091173/