Ответ 1
На моем 10.11 El Capitan, Xcode 7.3.1, clang был обновлен до:
Apple LLVM version 7.3.0 (clang-703.0.31)
что почти эквивалентно версии 3.8 llvm. clang++
не имеет -std=c++17
, но -std=c++1z
, хорошо работает в настоящее время, хотя поддерживает только некоторые функции С++ 1z.
Для gcc вы можете установить очень новую:
brew install gcc --HEAD
который установит gcc-6.1 сейчас, (2016.8). Этот gcc имеет ограниченную поддержку С++ 17 и может быть включен с помощью -std=c++17
.
некоторое обновление:
Соответствующая версия Apple Clang llvm в последнее время не ясна, должно быть 3. 9+ или 4+. Проверьте эту вики-страницу для получения дополнительной информации.
brew install gcc --HEAD
всегда должен работать для mac/homebrew и предоставлять вам brew install gcc --HEAD
gnu gcc со многими экспериментальными функциями. С другой стороны, обычная brew install gcc
теперь должна установить gcc, поддерживающий большинство функций С++ 17.
В качестве стандартного аргумента языка попробуйте -std=c++17
и -std=c++1z
для разных компиляторов, один из них должен работать.