2016-08-23 125 views
13

我能夠在Linux上更新gcc以獲得-std = C++ 17,但是在Mac上無法做到這一點。是否有我可以更新的Clang版本或者其他一些替代方法來在我的Mac上獲取C++ 17?請幫忙。謝謝。如何在Mac上啓用C++ 17?

+0

您也可以在Mac上使用gcc。 – YiFei

回答

1

如果存儲庫存在一些複雜問題,則可以從源代碼安裝gcc(根本不復雜)。

安裝過程爲mac os X,這裏是linux。 希望它有幫助。

+0

謝謝你! – TheBigMalaka

9

在我10.11埃爾卡皮坦的Xcode 7.3.1,鐺已經更新到:

Apple LLVM version 7.3.0 (clang-703.0.31) 

這幾乎等同於LLVM 3.8版。 clang++還沒有-std=c++17選項,但-std=c++1z,目前運行良好,但僅支持C++ 1z的某些功能。

對於GCC,你可以安裝一個非常新的一個:

brew install gcc --HEAD 

這將安裝gcc-6.1,現在,(2016.8)。此gcc對C++ 17的支持有限,可以通過-std=c++17啓用。


一些更新:

蘋果的相應LLVM版本不是最近清除,應該是3.9+或4+。檢查this wiki page獲取更多信息。

brew install gcc --HEAD應該總是適用於mac/homebrew,併爲您提供具有許多實驗性功能的尖端gnu gcc。另一方面,正常的brew install gcc應該現在安裝一個支持大多數C++ 17功能的gcc。

對於語言標準參數,嘗試-std=c++17-std=c++1z爲不同的編譯器,其中一個應該工作。

+1

謝謝。我嘗試過並努力工作。必須在達爾文版本上製作CXX = g ++ - 而不是g ++。 – TheBigMalaka