在工具 > 选项 > C/C++ > 其他中,没有将 C++17 作为默认标准的选项。
如何编译需要 C++17 的代码?
在工具 > 选项 > C/C++ > 其他中,没有将 C++17 作为默认标准的选项。
如何编译需要 C++17 的代码?
如本答案末尾所述,已于 21 年 3 月 28 日更新 NetBeans 12。
C++17标准是在NetBeans 8.2 发布一年多后发布的,因此C++17在 8.2 标准版本中不可用。
但是,NetBeans 错误报告错误 271136 - 支持 C++17 标准解决了这一缺陷,如果您从 2018 年下载并安装任何最新的 NetBeans 8.2 夜间版本,则该问题已得到解决;创建 C++ 项目时, C++17可作为一个选项使用:
如果您随后选择{project} > Properties > Build > C++ Compiler,您可以验证是否使用了C++17标准:
笔记:
更新于 2020 年 1 月 21 日和 2020 年 1 月 22 日:
以下是使 C++17 在 NetBeans 11.2 上可用所需的步骤:
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 The Plugin Installer found problem timeout of loading C/C++ Remote Development API... while install the following plugins: C++。那是:
接受的答案完全有效,但旧的插件存储库已关闭,oracle 现在将所有链接重定向到其基础设施到 apache 站点。这意味着我们现在可以下载仅由 apache 提供的插件。要将对 C++ 17 的支持添加到 NetBeans 11(仅在 11.0 上测试过,但有人报告它在 12.3 上工作,请参阅评论),您需要执行以下操作
事实上,夜间构建存储库并没有完全关闭。您需要知道访问它的确切 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 的旧 8.2 版本,请点击此处来自 oracle 的最后一个开发版本 (20180420)。它仅在 JDK 1.8 上运行