c++ - 无法在 netbeans 中运行 C++ CMake 项目
问题描述
我有一个使用 CMake 构建的 C++ 项目。我想在 netbeans (8.2) 中构建和运行它。我可以成功导入和构建项目,没有问题。
但是,当我开始运行它时,出现“项目中未指定可执行文件”错误。弹出窗口邀请我导航到 CMake 生成的可执行文件。当我导航到二进制文件时,netbeans 不会将它识别为 elf 可执行文件。如果我导航到文件并执行
file myExecutable
Linux 将其报告为 ELF 64 位 LSB 共享对象、x86-64 等...
我可以从命令行运行可执行文件,所以那里也没有问题。
请帮忙!
解决方案
是的,出于某种原因,NetBeans 8.2 无法识别 CMake 构建的可执行文件。绕过此问题的一种方法是:
- 打开
Project Properties
弹出窗口。 - 单击
Run
左窗格中的按钮以打开运行设置。 - 该
Run Command
设置用于作为"${OUTPUT_PATH}"
字符串。将此字符串替换为您的相对可执行文件名称./myExecutable
。 - 单击
OK
以保存属性。
这应该可以解决问题。
更新:我刚刚发现添加编译器选项-no-pie
(不要创建与位置无关的可执行文件)允许 NetBeans 正确找到可执行文件(至少在 Ubuntu 18.04 中) - 在这种情况下,您不需要对项目属性进行任何更改.
推荐阅读
- c - Bazel:错误的语法寻址标头?
- telegram-bot - 使用 Telegram API BOT 在消息或文件中搜索
- forms - Thymeleaf 表 - 从带有表单标签的选定行发送 id
- python - Numpy 随机选择不适用于二维列表
- spring-boot - Spring Boot 2 Embedded Tomcat Jndi 数据源配置
- apache-spark - 火花交叉连接,两个相似的代码,一个有效,一个无效
- pandas - 连续检查两个 True (boolean 1) 值的最快和/或最 Pythonic 的方法是什么?
- java - 使用 Java 过滤日期
- php - silverstripe 设置默认 HTMLText 值
- kubernetes - 从我的应用程序 Helm 图表配置第三方 Helm 图表