首页 > 解决方案 > 无法在 netbeans 中运行 C++ CMake 项目

问题描述

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

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

file myExecutable

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

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

请帮忙!

标签: c++linuxnetbeanscmake

解决方案


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

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

这应该可以解决问题。

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


推荐阅读