-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+。更多信息请查看此维基页面。
brew install gcc --HEAD
应该在mac/homebrew上始终有效,并提供具有许多实验性功能的最新gnu gcc。另一方面,普通的brew install gcc
应该安装支持大多数c ++ 17特性的gcc。
对于语言标准参数,请尝试-std=c++17
和-std=c++1z
使用不同的编译器,其中一个应该起作用。
Clang已经支持最新的C++版本,但默认为旧版本。
您只需在执行时在g++
后添加--std=c++17
,使用g++ --std=c++17 <filename>.cpp
来执行代码。
如果您正在使用Code Runner进行执行,请按照以下步骤:
打开Code>Preferences>Settings
,在设置顶部的搜索栏中输入code-runner.executormap
,
在settings.json
文件中找到键为cpp
的行,例如以下示例
"cpp": "cd $dir && g++ --std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
4. 重新启动VSCode
您需要先安装支持C++17标准的编译器。我建议您安装gcc、clang和苹果的LLVM:
其他编译器,如PGI、Intel Compiler等可能也可以使用,但我没有相关经验。
可以使用homebrew来安装gcc和clang:
gcc:
brew install gcc
brew install llvm
brew install tbb
也许你应该使用以下命令安装Xcode命令行工具:
xcode-select --install