NetBeans 15 - C++开发(CCLS、GCC)

4jb9z9bj  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(359)

我想在Lubuntu Kinetic Kudu (22.10)上使用NetBeans 15开始C++开发。
我先安装了build-essential

sudo apt install build-essential

g++ --version
g++ (Ubuntu 12.2.0-1ubuntu1) 12.2.0

gcc --version
gcc (Ubuntu 12.2.0-1ubuntu1) 12.2.0

当选择Tools > Options > C/C++时,它表示需要cclsclangd协议服务器。
我安装了ccls

sudo apt install ccls

ccls --version
Ubuntu ccls version 0.20220729-1
clang version 14.0.6-2

不确定我是否应该安装clangd代替或除了ccls
现在,当我启动NetBeans 15并选择C/C++选项时,它会自动选择ccls的路径

/usr/bin/ccls

现在我想开始一个第一个Hello World C++项目,但不知何故,它看起来很复杂。
我想使用最高的C++标准版本。安装的build-essential附带12.2版本,这里以https://gcc.gnu.org/onlinedocs/12.2.0/为例,我假设C++支持标准20或更高版本。我第一次就研究过了。

1. Choose Project: File > New Project > C/C++ > Lightweight C/C++ Project
2. Location: Project Path 
   I created a new folder myfirstcpp in /home/me/NetBeansProjects and selected it on this step.
3. Editor: Compile Commands
   Here no clue what to specify. 
   I leave it empty and proceed.
4. Build: "Configuration Name", "Build", "Clean" and "Run"
   Here no clue what to specify. 
   I leave it empty and proceed.

项目已创建,但完全是空的,前期没有创建工件。
我创建了一个CPP文件,并从Web上复制了以下代码

// C++ program to display "Hello World"
// Header file for input output functions

# include <iostream>

using namespace std;

// Main() function: where the execution of program begins
int main()
{
    // prints hello world
    cout << "Hello World";

    return 0;
}

但是编辑器显示了一个黄色的警告三角形,说明compile commands not configured。也没有选项来运行那个简单的Hello World程序,每个Run选项都是灰色的。
显然我必须正确配置步骤3-4。如何配置?

更新有关@skomisa的注解

我以前找到过这篇文章,但是放置了一个内容完全相同的.ccls文件

/home/me/NetBeansProjects/myfirstcpp/.ccls:
g++
-xc++
-Iinclude
-std=c++17

我没有改变任何东西。现在我又试了一次,在Editor类别的Project Properties中单击,删除并添加/home/me/NetBeansProjects/myfirstcpp/.ccls.ccls文件的路径,切换到Build类别,没有改变任何东西,突然Run选项被激活了。
在我看来,这是一个错误......当我关闭NetBeans,重新启动时,一切都再次变灰,直到我再次在Project Properties中单击,直到Run选项出现活动状态。
但是,当我单击Run Project (myfirstcpp)选项时,在Output窗口中出现了此异常

Exception in thread "main" java.io.IOException: Cannot run program "": error=2, No such file or directory
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
    at org.netbeans.modules.cpplite.project.runner.Runner.main(Runner.java:35)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
    at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:315)
    at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:245)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
    ... 2 more

.ccls文件中的内容不正确或不完整,或者还必须配置Build类别。
我使用OpenJDK

java --version                                                                                                                                    
openjdk 18.0.2.1 2022-08-18                                                                                                                                                        
OpenJDK Runtime Environment (build 18.0.2.1+1-1)                                                                                                                                   
OpenJDK 64-Bit Server VM (build 18.0.2.1+1-1, mixed mode, sharing)

如果这是相关的话。

mbjcgjjk

mbjcgjjk1#

刚刚在Ubuntu 22.04上安装了NB 15并运行了C++(使用gcc/g++12)项目。
https://stackoverflow.com/a/66832862/6760184

  • 启用C++:
  • 打开工具/插件/设置
  • 检查NetBeans 8.2插件门户
  • 返回到可用插件并按检查最新按钮。
  • 检查C/C++插件,然后按安装按钮。
  • 指定unpack 200位置
  • 13版之前的OpenJDK捆绑在以下位置,例如,/usr/lib/jvm/java-11-openjdk-amd 64/bin/unpack 200版本14之后将不再使用。
  • 或者,使用sudo apt install mlocate安装,并使用ls -llocate unpack200``查找unpack 200
  • 启用C++17
  • 下载并安装NBM插件。nbbuild_cndplugins_2018.ziphttps://github.com/dmochalov/PasteBin/tree/master/NetBeansDevBuild下载
  • nbbuild_cndplugins_2018.zip解压缩到文件夹中
  • 打开工具/插件/已下载/添加插件...并选择所有64个插件,然后单击安装
  • 启用C++20
  • 右击项目属性/C++编译器/附加选项并添加

-std=c++20
希望这对你有帮助!

相关问题