[英]How to enable C++17 on Mac?
我可以在 Linux 上更新 gcc 以獲取-std=c++17
,但在 Mac 上不能這樣做。
是否有我可以更新到的 Clang 版本或其他替代方法來在我的 Mac 上獲取 C++ 17?
請幫忙。
謝謝。
在我的 10.11 El Capitan、Xcode 7.3.1 上,clang 已更新為:
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
啟用。
一些更新:
蘋果clang對應的llvm版本最近不太清楚,應該是3.9+還是4+。 查看此 wiki 頁面以獲取更多信息。
brew install gcc --HEAD
應該始終適用於 mac/homebrew,並為您提供具有許多實驗性功能的尖端 gnu gcc。 另一方面,普通的brew install gcc
現在應該安裝一個支持大多數 c++17 功能的 gcc。
對於語言標准參數,為不同的編譯器嘗試-std=c++17
和-std=c++1z
,其中一個應該可以工作。
Apple 的 Clang 已經支持最新的 C++ 版本,但默認為舊版本。
您所要做的就是在執行時在g++
之后添加--std=c++17
,使用g++ --std=c++17 <filename>.cpp
執行您的代碼
如果您使用代碼運行器執行,請遵循:
Code>Preferences>Settings
在設置類型code-runner.executormap
頂部的搜索欄中,
從此settings.json
文件中用關鍵cpp
line:8
更改以下示例"cpp": "cd $dir && g++ --std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
4.重啟VSCode
您需要先安裝支持 C++17 標准的編譯器。 我只能推薦安裝 gcc、clang 和 Apple 的 LLVM:
其他如 PGI、英特爾編譯器等可能會工作,但我沒有這些經驗。
gcc 和 clang 可以使用 homebrew 安裝
海灣合作委員會:
brew install gcc
鐺
brew install llvm
您可以通過 App Store 獲取 XCode。
在 Mac 上,C++17 並行 STL 需要英特爾線程構建模塊 (TBB)。
安裝 tbb 最簡單的方法是通過自制軟件:
brew install tbb
當使用 gcc 或 clang 從命令行編譯時,不要忘記包含標志:-std=c++17
也許您應該使用以下命令安裝 xcode 命令工具:
xcode-select --install
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.