无法在 netbeans 中运行 C++ CMake 项目

Posted

技术标签:

【中文标题】无法在 netbeans 中运行 C++ CMake 项目【英文标题】:Cannot run C++ CMake project in netbeans 【发布时间】:2020-03-31 11:23:02 【问题描述】:

我有一个使用 CMake 构建的 C++ 项目。我想在 netbeans (8.2) 中构建和运行它。我可以成功导入并构建项目,没有问题。

但是,当我开始运行它时,我收到“项目中未指定可执行文件”错误。弹出窗口邀请我导航到 CMake 生成的可执行文件。当我导航到二进制文件时,netbeans 不会将其识别为 elf 可执行文件。如果我导航到文件并执行

file myExecutable

Linux 将其报告为 ELF 64 位 LSB 共享对象、x86-64 等...

我可以从命令行运行可执行文件,所以那里也没有问题。

请帮忙!

【问题讨论】:

【参考方案1】:

是的,出于某种原因,NetBeans 8.2 无法识别 CMake 构建的可执行文件。绕过这个问题的一种方法是:

打开Project Properties弹出窗口。 点击左侧窗格中的Run 按钮打开运行设置。 Run Command 设置用于作为"$OUTPUT_PATH" 字符串。将此字符串替换为您的相对可执行文件名称./myExecutable。 点击OK保存属性。

这应该可以解决问题。

更新:我刚刚发现添加编译器选项 -no-pie(不要创建与位置无关的可执行文件)允许 NetBeans 正确地找到可执行文件(至少在 Ubuntu 18.04 中) - 在在这种情况下,您不需要对项目属性进行任何更改。

【讨论】:

以上是关于无法在 netbeans 中运行 C++ CMake 项目的主要内容,如果未能解决你的问题,请参考以下文章

Netbeans C++ 错误:193

我无法让 Netbeans C++ 工作,我做错了啥?

更改 C++ netbeans 项目中的主文件

为 C++/Boost 库设置环境(netbeans 或 eclipse)

c++汉诺塔程序在vc上编译成功但在netbeans和dev-c++上无法通过编译

将 openCV .dll 文件添加到 Netbeans C++ Qt 应用程序