如何在Mac上启用C ++ 17?

问题描述 投票:21回答:3

我能够在Linux上更新gcc以获得-std = c ++ 17,但在Mac上却无法做到这一点。是否有一个版本的Clang我可以更新或在我的Mac上获得C ++ 17的其他替代方案?请帮忙。谢谢。

c++ macos clang c++17 darwin
3个回答
19
投票

在我的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启用。


一些更新:

相应的llvm版Apple's clang最近不清楚,应该是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用于不同的编译器,其中一个应该可以工作。


2
投票

如果存储库存在一些复杂情况,您可以从源代码安装gcc(它根本不复杂)。

mac os X的安装过程,这里是linux。希望能帮助到你。


0
投票

也许您应该使用以下命令安装xcode命令工具:

xcode-select --install
© www.soinside.com 2019 - 2024. All rights reserved.