簡體   English   中英

如何在 Netbeans 中啟用 C++17?

[英]How do you enable C++17 in Netbeans?

在“工具”>“選項”>“C/C++”>“其他”中,沒有將 C++17 作為默認標准的選項。

你如何編譯需要 C++17 的代碼?

更新了 NetBeans 12 的 3/28/21,如本答案末尾所述。

C++17標准是在 NetBeans 8.2 發布一年多之后發布的,因此C++17不能作為 8.2 標准版本中的一個選項。

但是,NetBeans 錯誤報告錯誤 271136 - 支持 C++17 標准解決了這個缺陷,如果您從 2018 年開始下載並安裝任何最新的 NetBeans 8.2 夜間版本,問題將得到解決; 創建 C++ 項目時, C++17可用作選項:

選擇Cpp17

如果您隨后選擇{project} > Properties > Build > C++ Compiler,您可以驗證是否正在使用C++17標准:

項目屬性

筆記:

  • 當您創建后續 C++ 項目時,項目向導將默認繼續使用C++17標准,因此除非/直到您選擇替代標准,否則它將成為“默認標准”。
  • 使用 NetBeans 8.2 的每晚構建版本而不是標准版本也更可取,因為它包含許多不相關的錯誤修復。
  • 一個更好的選擇(如果可能的話)是下載並安裝 NetBeans 的最新版本Apache NetBeans 11.2,它也提供C++17作為選項。
  • 如果您安裝 NetBeans 8.2 或 NetBeans 11.2 的夜間版本,則不會觸及您現有的 NetBeans 8.x 安裝,因此您可以在必要時安全地恢復。

20 年 1 月 21 日和 20 年 1 月 22 日更新:

這些是使 C++17 在 NetBeans 11.2 上可用所需的步驟:

  • 使用File > New Project...打開項目向導顯示默認情況下無法創建C/C++項目。
  • 選擇工具 > 插件 > 設置,然后單擊添加按鈕。
  • Update Customizer Center屏幕中,將Name設置為NBDevDarkThemes ,將URL 設置http://bits.netbeans.org/dev/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz ,然后單擊OK
  • 確保僅選中“設置”選項卡上的NbDevDarkBeans條目。
  • 通過單擊可用插件選項卡安裝C/C++插件,然后檢查C/C++條目。 該插件的版本應該是1.31.5.1 單擊安裝按鈕。
  • 安裝插件后,單擊Installed Plugins選項卡,選中Show Details復選框並向下滾動以驗證 C/C++ 插件已安裝且處於活動狀態 插件
  • 轉到Tools > Options > C/C++ > ,單擊Build Tools選項卡並根據需要配置外部 C/C++ 環境。 例如: Cpp選項
  • 現在轉到File > New Project... ,您應該可以選擇C/C++ > C/C++ Application
  • 單擊下一步 > Project Name and Location屏幕上,您現在應該能夠為標准選擇C++17 新Cpp項目

21 年 3 月 28 日更新了 NetBeans 版本 12.x:

壞消息:NetBeans 不再正式支持 C++! 請參閱 NetBeans 團隊負責人 Geertjan Welenga 於 21 年 3 月 25 日對最近的錯誤報告NETBEANS-5501 C++17 不再可用的明確答復:

*At the moment, NetBeans doesn't support C/C++, the plugins you were/are using from 8.2 are not really officially supported, though work on this is ongoing here, with an end goal to having it officially part of NetBeans, though that will take a while:

https://lists.apache.org/thread.html/r4ac84633554ce80d99b0710e7a803ce1dc322680c914b18058876b51%40%3Cdev.netbeans.apache.org%3E

You're welcome to join in with the discussions on dev above.*

也就是說,有一個非官方的解決方法,如錯誤報告NETBEANS-4452 中所述,插件安裝程序在安裝以下插件時發現加載 C/C++ 遠程開發 API 的超時問題... 那是:

  • 下載 JDK 8(如有必要)。
  • 通過編輯netbeans.conf臨時將 JDK NetBeans 12 使用的 JDK 8 設置為 JDK 8,然后重新啟動 NetBeans。
  • 安裝相關的 C/C++ 插件。
  • 通過編輯netbeans.conf ,然后重新啟動 NetBeans,將 JDK NetBeans 12 使用的 JDK NetBeans 12 重置為您最初使用的那個(對於大多數用戶來說可能是 JDK 14)。
  • C++ 17 應該可以在 NetBeans 12 上使用,因為它沒有得到官方支持。

接受的答案完全有效,但舊的插件存儲庫已關閉,oracle 現在將所有指向其基礎架構的鏈接重定向到 apache 站點。 這意味着我們現在可以下載只有 apache 提供的插件。 將對C++ 17 的支持添加到 NetBeans 11(僅在 11.0 上測試,但有人報告說它在 12.3 上工作,請參閱評論),您需要執行以下操作

  1. 手動添加提供此類支持的 CND 模塊的插件。 插件版本應大於1.31.5.1
  2. 確保 NetBeans 使用JDK8,因為舊插件需要一個upack200模塊。 例如,它在 JDK14 中不可用。

手動安裝的步驟

  1. 我下載了 C++17 支持所需的所有插件(NBM 文件)。 你可以在這里下載。 請記住,該包僅使用 11.00 NetBeans 進行了測試。 請使用11.0 NetBeans
  2. 然后你需要將存檔解壓到一個文件夾
  3. 啟動 NetBeans,轉至工具 -> 插件 -> 已下載。
  4. 單擊添加插件並選擇存檔中的所有插件。 檢查您是否有 64 個插件可供安裝。 為什么需要這么多插件? 因為 C++ 插件依賴於其他插件。 所以你需要提供較新的版本。 在此處輸入圖片說明
  5. 點擊安裝。 將會有一個警告,提示將安裝其他插件: 在此處輸入圖片說明
  6. 安裝后,轉到“已安裝”選項卡,選中“顯示詳細信息”選項並找到 C/C++ 插件。 驗證版本是否為 1.31.5.1: 在此處輸入圖片說明

自動安裝

事實是,夜間構建存儲庫並未完全關閉。 您需要知道訪問它的確切 IP 地址。 因此,您可以使用已接受答案中的所有步驟,而不是鏈接

http://bits.netbeans.org/dev/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz

你應該使用:

http://137.254.56.27/dev/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/nbms/updates.xml.gz

但是 oracle 可以隨時限制對它的訪問。 此外,確保您的 NetBeans 在JDK8運行(upack200 問題)。

支持 C++17 的 NetBeans 8.2 Dev Build

如果您正在尋找支持 C++17 的舊 8.2 版本,請點擊Oracle 的最后一個開發版本 (20180420)。 它僅在 JDK 1.8 上運行

暫無
暫無

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

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