iT邦幫忙

0

macbook vscode c++

  • 分享至 

  • xImage

想問一下macbook 上的vscode.
如何更新c++ 至 version 11.

int emus{7};
vector heap = {9,3,6,7,4,2,1,3};
這兩行emus 跟 heap 下面都會出現紅線。
我想應該是因為,這些是c++ 11的功能。

但我有去extension裡面c/c++
把C_Cpp > Default: Cpp Standard 跟 C_Cpp > Default: C Standard 都改成c11
再去Clang 的 extension setting.
把Cflags 裡面加入["-std=c++11"]
Cxxflags 裡面也加入 ["-std=c++11"]

但執行上面兩行程式一樣會有紅線及報錯。

不知道是不是還有什麼沒設定到?

目前執行完會出現
error: non-aggregate type 'vector' cannot be initialized with an initializer list

但是我透過
clang++ -std=c++11 test.cpp 會得到 a.out檔案
再去執行 ./a.out 就可以。
但是變成只要每次code有包含c++的功能都只能這樣?
vscode裡面的執行鍵就沒用了?
只能透過下面vscode裡面的complier執行?

非常感謝幫助!!!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-07 08:24:04

最簡單的解決方法是在你的MAC電腦上安裝一個支援 C++11 的編譯器。
在安裝之後,請確保 VSCode 中配置了正確的編譯器路徑。

GCC 和 Clang 都是支援 C++11 的開源編譯器,並且在 MacOS 上都有可用的安裝包。
你可以通過 Homebrew、MacPorts 或者 Xcode Command Line Tools 來安裝。
安裝完成後,你可以在 Visual Studio Code 中配置編譯器的路徑,並編譯你的 C++ 程式碼。

我要發表回答

立即登入回答