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

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

17

Решение

На моем 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, работает хорошо в настоящее время, хотя поддерживает только некоторые функции C ++ 1z.

Для gcc вы можете установить очень новую:

brew install gcc --HEAD

который установит gcc-6.1 сейчас, (2016.8). Этот gcc имеет ограниченную поддержку C ++ 17 и может быть включен -std=c++17,


некоторое обновление:

Соответствующая версия lvm лязга Apple в последнее время не ясна, должна быть 3.9+ или 4+. Проверьте эта вики-страница для дополнительной информации.

brew install gcc --HEAD должен всегда работать на mac / homebrew и давать вам передовой gnu gcc со многими экспериментальными функциями. С другой стороны, нормально brew install gcc должен установить gcc, поддерживающий большинство функций c ++ 17.

Для стандартного аргумента языка попробуйте -std=c++17 а также -std=c++1z для разных компиляторов один из них должен работать.

15

Другие решения

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

Процесс установки для Mac OS X, и вот это для линукс.
Надеюсь, поможет.

2