C++ 17のいくつかの機能を試すとき、次のようにコマンドラインでコードを作成します。
llvm-g++ -std=c++17 main.cpp
しかし、失敗しました。私が得た:
error: invalid value 'c++17' in '-std=c++17'
私のllvm-g ++のバージョンは次のとおりです。
[wjy@wjy-mba] cpp$ llvm-g++ -v
Apple LLVM version 9.0.0 (clang-900.0.37)
Target: x86_64-Apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
同時に、Xcode(c ++ 17を使用)でコードをビルドできます。 Xcode設定
-std=c++17
はClang5.0.0で追加されました(ごく最近リリースされました-今月初め http://releases.llvm.org/5.0.0/tools/clang/docs/ReleaseNotes.html を参照してください) 。
このページ https://en.wikipedia.org/wiki/Xcode#Latest_versions Xcode9.0がまだLLVM/Clang4.0リリースを使用していると信じているようです。これは、発生しているエラーと一致しています。
Apple-Xcode10に付属のLLVM10は、C++ 17およびC++ 20ドラフトをサポートしています。
note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard
note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU
extensions' standard
note: use 'c++11' for 'ISO C++ 2011 with amendments' standard
note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions'
standard
note: use 'c++14' for 'ISO C++ 2014 with amendments' standard
note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions'
standard
note: use 'c++17' for 'ISO C++ 2017 with amendments' standard
note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions'
standard
note: use 'c++2a' for 'Working draft for ISO C++ 2020' standard
note: use 'gnu++2a' for 'Working draft for ISO C++ 2020 with GNU extensions'
standard
私はあなたが旗-std = c ++ 1zを探していると信じています