簡體   English   中英

如何在 Eclipse Neon 中啟用 C++11 語法?

[英]How do you enable C++11 syntax in Eclipse Neon?

我正在 Eclipse Neon 中開發 C+11 代碼,今天注意到 C+11 中引入的基於范圍的 for 循環被 IDE 突出顯示為紅色,表明它無法識別它。

我找到了多個關於如何為舊版本的 CDT 執行此操作的鏈接,例如( Eclipse CDT C++11/C++0x 支持)您可以看到雖然沒有“工具設置”選項卡。

在此處輸入圖片說明

有人可以建議如何配置我的項目,以便正確突出顯示 C++11 語法(我使用的是單獨的構建系統)

  1. 右鍵單擊您的項目,然后單擊屬性
  2. 導航到 C/C++ General 和 Preprocessor Include Paths、Macros 等。
  3. 選擇 Providers 選項卡,單擊您使用的編譯器的編譯器設置行。
  4. 將 -std=c++11 添加到 Command 以獲取編譯器規范。
  5. 應用更改。

看起來像這樣:

${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11

您還可以執行以下操作

  1. 轉到項目屬性(Alt Enter)
  2. 在左窗格中,滾動到“C/C++ Build”,折疊它,選擇設置。
  3. 在右側窗格中,在“工具設置”菜單下選擇並折疊您的編譯器,選擇“方言”,從下拉列表中選擇您的語言標准,或在“其他方言標志”文本輸入中輸入 -std=c++11。

或者,

  1. 屬性 --> "C/C++ Build" --> 折疊並選擇"設置"
  2. 在工具設置選項卡下,選擇您的編譯器,並突出顯示“雜項”字段。
  3. 將 -std=c++11 添加到“其他標志”輸入字段。

出於我不明白的原因,在尋找有關為什么我在 Fedora 27 上運行的 Eclispe Oxygen + CDT 9.3.2 無法可靠地調試我的代碼的線索時,Google 將此問題/答案作為要查看的內容。

基本上我的問題是,一個相當簡單的 C++ 程序,使用 C++ 11 特性(特別是 shared_ptr),在 Fedora 27 之上的 Eclipse Oxygen 2 + CDT 9.3.2 中是不可調試的(它安裝了 gdb 8.0.1 版)標准包回購)。 進入幾個方法調用導致調試會話掛起,什么也沒有發生,終止 Eclipse 以恢復。

如果我在命令行上使用 gdb 調試二進制文件,一切都很好; 我可以設置斷點等,一切正常。 但是從 Eclipse 內部,什么都不做。

但是,將 -std=c++11 放入 Andreas 所示的項目設置中解決了問題。 我不知道為什么。 我想我會提出來以防其他人遇到類似的問題。

g++ 版本為 7.2.1

出於某種原因,編輯全局 C++ 編譯器設置對我不起作用。 按照說明修改特定於項目的設置確實有效。 請參閱: Eclipse CDT C++11/C++0x 支持

如果以上都不適合您:請檢查是否

Properties > C/C++ Build > Settings > Tool Settings tab > Dialect

確認您在語言標准下拉菜單中是否有“ISO C++11 ...”選項。

如果是,則選擇 > 應用並關閉。

我希望這會奏效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM