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

标签 c++ linux netbeans cmake

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

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

file myExecutable

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

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

请帮忙!

最佳答案

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

  • 打开Project Properties弹出窗口。
  • 点击Run左 Pane 中的按钮以打开运行设置。
  • Run Command设置曾经是 "${OUTPUT_PATH}"字符串。将此字符串替换为您的相关可执行文件名 ./myExecutable .
  • 点击OK保存属性。

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

    关于c++ - 无法在 netbeans 中运行 C++ CMake 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60949415/

    相关文章:

    c++ - 线程同步 C++

    c++ - GCC 声明友元函数重载,调用不明确,clang 编译

    c++ - 保证复制清除如何工作?

    c++ - 在 C++ 中格式化日期

    linux - 如何从命令行检查 SMTP 是否正常工作(Linux)

    linux - 如何在 Linux 上构建 Mono 应用程序

    java - 当J Panel的visibility设置为false时,J Panel的Childs是可见的,如何让childs不可见?

    linux - 是否可以在 linux 中为用户设置环境变量?

    java - NetBeans 中的 Android 项目中缺少 R.java

    layout - 我可以在 Netbeans 7.2 中保存我的窗口布局吗?