Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
382 views
in Technique[技术] by (71.8m points)

c++ - How to enable C++17 on Mac?

I am able to update gcc on Linux to get -std=c++17 but cannot do the same on Mac. Is there a version of Clang I can update to or some other alternative to get C++17 on my Mac? Please help. Thanks.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

On my 10.11 El Capitan, Xcode 7.3.1, clang has been updated to:

Apple LLVM version 7.3.0 (clang-703.0.31)

which is almost equivalent to llvm version 3.8. clang++ hasn't -std=c++17 option, but -std=c++1z, working well at present, though only supporting some features of C++1z.

For gcc, you can install a very new one by:

brew install gcc --HEAD

which will install gcc-6.1 now, (2016.8). This gcc has limited support for C++17 and can be enabled by -std=c++17.


some update:

The corresponding llvm version of Apple's clang is not clear recently, should be 3.9+ or 4+. Check this wiki page for more information.

brew install gcc --HEAD should always work for mac/homebrew, and give you the cutting edge gnu gcc with many experimental features. On the other hand, normal brew install gcc should install a gcc supporting most c++17 features now.

For the language standard argument, try -std=c++17 and -std=c++1z for different compilers, one of them should work.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...