Je peux mettre à jour gcc sous Linux pour obtenir -std = c ++ 17 mais je ne peux pas faire de même sur Mac. Existe-t-il une version de Clang que je peux mettre à jour ou une autre alternative pour obtenir C++ 17 sur mon Mac? Veuillez aider. Merci.
Sur mon 10.11 El Capitan, Xcode 7.3.1, clang a été mis à jour pour:
Apple LLVM version 7.3.0 (clang-703.0.31)
qui est presque équivalent à llvm version 3.8. clang++
n'a pas -std=c++17
option, mais -std=c++1z
, fonctionne bien actuellement, mais ne prend en charge que certaines fonctionnalités de C++ 1z.
Pour gcc, vous pouvez en installer un très nouveau en:
brew install gcc --HEAD
qui va installer gcc-6.1 maintenant, (2016.8). Ce gcc a un support limité pour C++ 17 et peut être activé par -std=c++17
.
une mise à jour:
La version llvm correspondante du clang d'Apple n'est pas claire récemment, devrait être 3.9+ ou 4+. Vérifiez cette page wiki pour plus d'informations.
brew install gcc --HEAD
devrait toujours fonctionner pour mac/homebrew, et vous offrir le gnu gcc de pointe avec de nombreuses fonctionnalités expérimentales. D'un autre côté, normal brew install gcc
devrait maintenant installer un gcc prenant en charge la plupart des fonctionnalités de c ++ 17.
Pour l'argument standard de langue, essayez -std=c++17
et -std=c++1z
pour différents compilateurs, l'un d'eux devrait fonctionner.
Vous devriez peut-être installer l'outil de commande xcode en utilisant:
xcode-select --install
La norme v17 est désormais proposée par défaut avec Xcode 1 , offrant à la fois des versions standard et des variantes.
via les paramètres de construction:
CLANG_CXX_LANGUAGE_STANDARD: C++ 17/GNU ++ 17
CLI:
std = c ++ 17
std = gnu ++ 17