2016-08-23 1 views
13

Je suis capable de mettre à jour gcc sous Linux pour obtenir -std = C++ 17 mais je ne peux pas faire la même chose sur Mac. Y at-il une version de Clang que je peux mettre à jour ou une autre alternative pour obtenir C++ 17 sur mon Mac? S'il vous plaît aider. Merci.Comment activer C++ 17 sur Mac?

+0

Vous pouvez également avoir gcc sur Mac. – YiFei

Répondre

1

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

Le processus d'installation pour mac os X, et ici il est pour linux. J'espère que ça aide.

+0

merci aussi! – TheBigMalaka

9

Sur mon 10,11 El Capitan, Xcode 7.3.1, le tintement a été mis à jour:

Apple LLVM version 7.3.0 (clang-703.0.31) 

qui est presque équivalent à la version 3.8 de LLVM. clang++ n'a pas -std=c++17 option, mais -std=c++1z, fonctionne bien à l'heure actuelle, mais seulement en supportant certaines fonctionnalités de C++ 1z.

Pour gcc, vous pouvez installer un très nouveau par:

brew install gcc --HEAD 

qui installera 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 d'Apple n'est pas clair récemment, devrait être 3.9+ ou 4+. Vérifiez this wiki page pour plus d'informations.

brew install gcc --HEADbrew install gcc --HEAD devrait toujours fonctionner pour mac/homebrew, et vous donner l'avant-garde gnu gcc avec de nombreuses fonctionnalités expérimentales. D'un autre côté, brew install gcc devrait normalement installer un gcc supportant la plupart des fonctionnalités de C++ 17 maintenant.

Pour l'argument standard de langue, essayez -std=c++17 et -std=c++1z pour différents compilateurs, l'un d'entre eux devrait fonctionner.

+1

Merci. J'ai essayé et travaillé. a dû faire CXX = g ++ - au lieu de g ++ sur la construction de Darwin. – TheBigMalaka