2016-08-23 12 views
13

Jestem w stanie zaktualizować gcc na Linuksie, aby uzyskać -std = C++ 17, ale nie mogę zrobić tego samego na Macu. Czy istnieje wersja Clang, którą mogę zaktualizować lub jakąś inną alternatywę, aby uzyskać C++ 17 na moim Macu? Proszę pomóż. Dzięki.Jak włączyć C++ 17 na Macu?

+0

Możesz także mieć gcc na Macu. – YiFei

Odpowiedz

1

Możesz zainstalować gcc ze źródeł (to wcale nie jest skomplikowane), jeśli występują pewne komplikacje z repozytoriami.

Proces instalacji dla mac os X, a tutaj jest dla linux. Mam nadzieję, że to pomaga.

+0

dziękuję również! – TheBigMalaka

9

Na moim 10.11 El Capitan, Xcode 7.3.1 The dzyń została zaktualizowana:

Apple LLVM version 7.3.0 (clang-703.0.31) 

który jest niemal równoznaczne z LLVM w wersji 3.8. clang++ nie ma opcji -std=c++17, ale -std=c++1z, działa dobrze obecnie, ale obsługuje tylko niektóre funkcje C++ 1z.

Dla gcc, można zainstalować bardzo nowy według:

brew install gcc --HEAD 

który będzie zainstalować gcc-6.1 teraz, (2016.8). Ten gcc ma ograniczone wsparcie dla C++ 17 i może być włączony przez -std=c++17.


niektóre zmiana:

Odpowiednia wersja llvm Apple nie jest jasne, niedawno, powinny być 3.9+ lub 4+. Aby uzyskać więcej informacji, sprawdź numer this wiki page.

brew install gcc --HEAD powinien zawsze działać dla mac/homebrew i dać ci nowatorski gnu gcc z wieloma funkcjami eksperymentalnymi. Z drugiej strony normalne brew install gcc powinno teraz zainstalować gcc obsługujący większość funkcji C++ 17.

Dla standardowego argumentu językowego spróbuj -std=c++17 i -std=c++1z dla różnych kompilatorów, jeden z nich powinien działać.

+1

Dziękuję. Próbowałem i pracowałem. musiałem stworzyć CXX = g ++ - zamiast g ++ na kompilacji Darwina. – TheBigMalaka