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