我能够在Linux上更新gcc以获得-std = c ++ 17,但在Mac上却无法做到这一点。是否有一个版本的Clang我可以更新或在我的Mac上获得C ++ 17的其他替代方案?请帮忙。谢谢。
答案 0 :(得分:18)
在我的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
,其中一个应该有效。
答案 1 :(得分:2)
答案 2 :(得分:2)
v17标准现在默认提供Xcode 10,提供标准和变体形式。
通过构建设置:
CLANG_CXX_LANGUAGE_STANDARD :C ++ 17 / GNU ++ 17
CLI:
-std = c ++ 17
-std = gnu ++ 17
答案 3 :(得分:1)
您需要首先安装支持C ++ 17标准的编译器。我只能建议安装gcc,clang和Apple的LLVM:
其他诸如PGI,Intel Compiler等也可能起作用,但是我没有这些经验。
gcc和clang可以使用自制软件安装
gcc:
brew install gcc
c
brew install llvm
您可以通过App Store获取XCode。
在Mac上,C ++ 17并行STL需要英特尔线程构建模块(TBB)。
安装tbb的最简单方法是通过自制程序:
brew install tbb
使用gcc或clang从命令行进行编译时,不要忘记添加该标志: -std = c ++ 17
答案 4 :(得分:0)
也许您应该使用以下命令安装xcode命令工具:
xcode-select --install
答案 5 :(得分:0)