web-dev-qa-db-ja.com

apple llvm9.0はフラグc ++ 17を使用できません

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設定

7
Fausturs

-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リリースを使用していると信じているようです。これは、発生しているエラーと一致しています。

5
ddavis

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
1
MCCCS

私はあなたが旗-std = c ++ 1zを探していると信じています

1
Lambo