web-dev-qa-db-fra.com

Comment activer C ++ 17 sur Mac?

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.

22
TheBigMalaka

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.

20
halfelf

Vous pouvez installer gcc à partir de sources (ce n'est pas du tout complexe) s'il y a des complications avec les référentiels.

Processus d'installation pour mac os X , et le voici pour linux . J'espère que ça aide.

2
vianney

Vous devriez peut-être installer l'outil de commande xcode en utilisant:

xcode-select --install
0
Galley

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

0
DBrown