Eclipse CDT项目已建成,但“启动失败。找不到二进制文件”

时间:2013-06-10 11:50:54

标签: eclipse-cdt binaries

Windows 7,Eclipse CDT,Juno Service Release 2,交叉编译器。

项目会编译生成的可执行文件,但Eclipse无法看到它们;因此'运行'失败。可执行文件放在Debug目录中。双击或命令提示符调用已编译的可执行文件工作没有问题。

enter image description here

我该如何解决这个问题?

15 个答案:

答案 0 :(得分:44)

这发生在我身上,我找到了一个解决方案,看看这是否适合你:

使用锤子图标构建项目后:

  1. 选择“运行”。
  2. 运行配置。
  3. 选择“C ++应用程序”。
  4. 点击打开窗口左上角的“新启动配置”图标。
  5. 在C / C ++应用程序下选择“浏览”。
  6. 浏览到最初创建项目的文件夹。
  7. 输入Debug文件夹。
  8. 单击与项目同名的二进制文件。
  9. 选择“确定”。
  10. 点击“应用”以确认您刚设置的链接。
  11. 关闭那个窗口。
  12. 之后你应该能够按照自己的意愿运行项目。

    希望这适合你。

答案 1 :(得分:40)

只需选择项目并按 CTRL + B

答案 2 :(得分:22)

我认为我找到了解决方案 - 必须选择适当的二进制解析器,以便Eclipse可以识别可执行文件:

选择项目,然后单击鼠标右键。项目 - >属性 - > C / C ++构建 - >设置 - >二进制解析器,PE Windows解析器。

即。如果使用Cygwin编译器,则应使用Cygwin解析器。

至少对于Cross-compiler(在Windows 7和Ubuntu 12.04上都适用),这对我有用。在Linux上,我使用 Elf 解析器。

如果有人有更好的解决方案,请告知。

答案 3 :(得分:5)

在Mac上,如果你也有类似的问题,就像上面提到的Nenad Bulatovic那样,你需要更改二进制解析器

命令 + I 打开属性(或右键单击项目并选择属性)

确保选择 Mach-O 64 Parser

enter image description here

答案 4 :(得分:3)

在我的情况下,这是修复它的解决方案。创建项目时,请从“工具链”面板中选择“MinGW GCC”。

enter image description here

创建项目后,选择项目文件,按ctrl + b构建项目。然后点击运行,输出应打印在控制台上。

答案 5 :(得分:2)

按Ctrl + B,然后可以使用“运行”按钮。

答案 6 :(得分:2)

首先,我必须单击一个小箭头按钮,以打开一个包含“运行配置”的菜单, enter image description here

然后在以下窗口中,我必须单击“ C / C ++ Application”,然后单击带有绿色+的无文本按钮  enter image description here

然后我必须按下“应用”和“运行”按钮 enter image description here

,然后eclipse可以运行/调试程序。 :)

答案 7 :(得分:1)

对于它的价值,我遇到了这个问题 - 原因是所选项目中二进制文件中的DWARF 3信息无效(没有任何可运行的二进制文件)。

它的工作方式是这样的:我有两个项目MainLibraryMain取决于Library项目,前者有可执行文件,而后者只生成了一个静态库(Main链接)。

我的运行选项设置为"运行/调试 - >发射"设置设置为"启动当前,否则最后"如下(见右下图):

Run/Debug settings

如果我选择了Main项目,一切都会正常工作:它会启动主项目。如果我选择Library项目 1 ,它将失败并显示OP提供的错误消息。原因似乎是这样的:因为我选择了Library项目,PE扫描程序将扫描项目中的二进制文件以查看是否有任何可启动项,并且因为扫描失败due to this bug错误消息在它到达之前弹出#34;启动之前推出的应用程序"。

我可以通过以下方式解决这个问题:

  1. 确定我要启动的项目已被选中,或者......
  2. 将编译器更改为使Eclipse可以无故障地解析的DWARF信息,或者......
  3. 选择"始终启动先前启动的应用程序"在运行/调试设置中 - 尽管它可能不是您首选的操作模式。
  4. 1 我通常不会直接选择项目,当然,它会被间接选择,因为我在其中包含的一个源文件中工作。

答案 8 :(得分:0)

在这里尝试了一切之后,对我有用的是给予eclipse执行权限:

cd eclipse-installation-dir 
sudo chmod +x eclipse

在Ubuntu 12.04 LTS上使用Eclipse Luna。

答案 9 :(得分:0)

确保文件夹名称不包含.c扩展名。当我删除文件夹名称中的.c扩展名时,它会自动生效。

答案 10 :(得分:0)

运行代码时需要单击MinGW编译器。如果不这样做,将导致启动失败的二进制文件未找到错误。

答案 11 :(得分:0)

我在Eclipse 3.8.1上遇到了同样的问题。对我来说,它可以将工件类型设置为可执行文件:

右键单击项目-> C / C ++构建->设置->构建工件->工件类型:可执行

最后重建项目,在项目资源管理器中产生了Binaries条目。

答案 12 :(得分:0)

我的经验是,在构建项目(CTRL+B之后,您需要在主工具栏的RunDebug下拉菜单中创建运行(或调试)配置。然后在主页上,点击

Search Project...

按钮。

这将找到您已构建的所有可执行文件,并在对话框中显示它们。您可以选择合适的一个,然后点击“运行”(或

答案 13 :(得分:0)

这对我有用。

转到项目->属性->运行/调试设置->单击配置并单击“编辑”,现在将打开“编辑配置”。

点击“搜索项目”,从“二进制文件”中选择二进制文件,然后单击“确定”。

注意:在执行所有这些操作之前,请确保已完成以下操作

->执行“ Build All”或(Ctrl + B)

后,将生成二进制文件

答案 14 :(得分:-2)

下面的视频链接更详细地说明了这些步骤:

  1. 创建空项目
  2. 选择linux Gcc编译器
  3. 右键单击项目选择“源文件夹”
  4. 将其命名为“src”
  5. 右键单击src文件夹,选择“源文件”
  6. 开始编码
  7. 保存项目
  8. 构建项目
  9. 运行项目
  10. https://www.youtube.com/watch?v=wtyBvagV-_A