Как включить С++ 17 на Mac?

Я могу обновить gcc на Linux, чтобы получить -std = С++ 17, но не могу сделать то же самое на Mac. Есть ли версия Clang, которую я могу обновить, или другую альтернативу для получения С++ 17 на моем Mac? Пожалуйста помоги. Благодарю.

Ответ 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 для разных компиляторов, один из них должен работать.

Ответ 2

Вы можете установить gcc из источников (это не сложно вообще), если есть некоторые сложности с репозиториями.

Процесс установки mac os X, и здесь он для linux. Надеюсь, что это поможет.

Ответ 3

Может быть, вам следует установить командный инструмент xcode, используя:

xcode-select --install