启动失败。找不到二进制文件。Eclipse Helios上的CDT


74

我在Ubuntu 10.04上使用Eclipse Helios,并且尝试在其上安装CDT插件。我从这里下载它这里

然后我转到“安装新软件”并选择zip文件(我没有解压缩它,只需选择zip文件)。好的,它可以安装,一切正常,它显示了可选功能,等等等等

然后创建一个新的HelloWorld项目。当我尝试运行它时,它显示一个错误并说:

启动失败。找不到二进制文件。

谁能解释我该如何解决?

谢谢。


2
在MacOSX上,我遇到了同样的问题:构建项目后,该项目无法运行,并显示以下消息:“启动失败。找不到二进制文件。” 我通过以下方式解决了它Run > Run Configurations... > C/C++ Application > {path to executable}
Pantelis Sopasakis 2014年

@PantelisSopasakis:我也遇到了这个问题,并且也以这种方式解决了。但是,即使该路径仍在配置中显示,我还是总是必须转到该路径,然后单击run而不是run as local c/c++ application。你能帮忙吗?
user2751691 2015年

@ user2751691对不起,我想不出什么来(除了我目前未使用MacOSX)。让我知道您是如何解决的,尽管您发现了什么……
Pantelis Sopasakis 2015年

2
@PantelisSopasakis:我通过将二进制解析器从elf解析器更改为Mach O 64解析器来解决了它。然后它神奇地工作了。谢谢。
user2751691 2015年

Binary Parser ELF将在Ubuntu / Linux中。在Mac中,您的构建二进制解析器应为Mach-O。请参阅eclipse.org/forums/index.php/t/268200。我已添加答案
lib

Answers:


132

您必须先生成一个可执行文件,然后才能运行它。因此,如果您不“构建”文件,则它将无法链接和加载该目标文件,因此它没有执行所需的二进制数。

所以基本上右键单击Project -> Build Project -> Run As Local C/C++ Application应该可以解决问题


1
我建立了项目,但是即使#include <stdio.h>也给出错误,我得到了一个未解决的包含项,我该怎么办?
Ege 2014年

尽管我执行了此步骤,但是它对我不起作用,原因是,我没有保存文件本身。
atp9 2015年

Thx @varunthacker,经过长期的奋斗,您的回答解决了我的问题,简单高效!
Java.beginner 2015年

我认为这不是更好的答案。问题可能是因为未构建,未保存文件,选择了错误的解析器。这仅解决了一个问题。
马克·沃尔什

36

首先,您需要确保已构建项目。您可以使用工具栏中的锤子图标来构建项目。您可以选择构建Debug版本或Release版本。如果无法构建项目,则问题是您没有安装编译器,或者IDE找不到该编译器。

要查看是否在Mac中安装了编译器,可以从命令行运行以下命令:

g++ --version

如果已经安装(在安装XCode工具时安装了它),则可以看到其位置正在运行:

which g++

如果您能够构建项目,但仍然收到“找不到二进制文件”消息,则问题可能是未为该项目创建默认启动配置。在这种情况下,请执行以下操作:

Right click project > Run As > Run Configurations... > 

然后在“ C / C ++应用程序”部分下创建新配置>输入可执行文件(在构建步骤中创建的文件,该文件将存在于Debug或Release文件夹中)的完整路径。您的启动配置应如下所示:

在此处输入图片说明


如何强制eclipse在Run Configurations默认情况下创建它?我在Windows中没有日食问题。
Afshin Oroojlooy

16

转至运行- >运行配置- >

在C / C ++应用程序下,您将看到可执行文件的名称+调试(如果没有,请单击C / C ++ Application两次)。选择名称(在本例中为 projectTitle + Debug)。

主选项卡的-> C / C ++应用程序->搜索项目中->在二进制文件下,​​选择以项目命名的二进制文件....


@Unmesh:您好,在我的项目中,每次我要运行项目时,都必须手动浏览该位置以设置位置。有没有办法让它记住位置?stackoverflow.com/questions/28420749/… 谢谢。
user2751691 2015年

就我而言,问题还在于,即使构建Eclipse之后,它仍然无法找到二进制文件。原来缺少运行配置。谢谢!
蒂姆(Tim)

@Unmesh我如何强制eclipse在默认情况下创建此运行配置?我在Windows中没有日食问题。
Afshin Oroojlooy

4

您必须在“运行”之前先“构建”,否则必须“找不到二进制文件”。您可以设置“自动构建”,以便它可以构建并运行。检查此帖子以设置“自动构建” http://situee.blogspot.com/2012/08/how-to-set-eclipse-cdt-auto-build.html


我修复了二进制路径问题,但是我的C项目仍然无法运行...直到我阅读了您的答案并意识到自从我修复了二进制路径问题以来,我还没有重建项目!谢谢。有时我只需要指出明显的地方。
James Dunn 2014年

4

我有这个问题很久了,我找不到答案。我已经添加了所有路径,构建了所有内容,并且几乎遵循了这里每个人的建议,但是没有运气。

最后,我阅读了注释,发现在生成二进制文件和exe文件之前,存在一些编译错误,这些错误使过程中止。

底线:进行代码检查,并确保代码中没有错误,因为有时eclipse不会总是捕获所有错误。

如果您可以运行一个基本的hello world但不能运行您的代码,那么显然您的代码有问题。我学到了很难的方法。


4

如果即使在构建项目后仍然存在错误,请尝试执行以下操作:

  • 点击二进制文件在项目资源管理器与左键
  • 单击绿色的“播放”按钮(运行调试)

太棒了 它还会保留选择内容,因此从菜单运行将随后起作用。
kometen

2

我遇到了同样的问题,并在答案中找到了另一个问题的解决方案:https ://stackoverflow.com/a/1951132/425749

基本上,安装CDT不会安装编译器,并且Eclipse的错误消息对此并不明确。


2

我遇到了同样的问题。我在Ubuntu上有Eclipse Indigo和Eclipse Luna。我尝试了许多解决方案,但没有一个奏效。这是您可以尝试的方法:)按顺序尝试:)

  1. 要么全部编译,然后编译:)
  2. 安装G ++编译器
  3. Windows->首选项-> NEW CDT PRoject-> Makefile-> Binary Parsers->根据您的操作系统选择Cywin或Window PE :)
  4. 将您的工具链更改为cywin gcc
  5. 项目->属性->环境->发布激活

在1,2、3和4之后,我尝试更改路径和其他内容,但没有任何效果。最后,我注意到它提到未配置Debug Active。因此,当我将其更改为Release Active时,它起作用了。请注意,不需要更改环境和路径。


1

我在为c / c ++应用程序安装Eclipse时遇到了同样的问题。我下载了Mingw GCC,将其bin文件夹放在您的路径中,在工具链中使用它,同时在Eclipse中创建新的C ++项目并进行构建,从而解决了我的问题。引用了此视频


1

似乎在“项目”菜单下具有“自动生成”功能应该可以解决所有这些问题。它适用于Java。


0

确保您的系统上已安装GDB ...

如果仅在终端类型中使用基于Linux的操作系统:

sudo apt-get install gdt 

下载完成后,解压缩文件并安装。

关闭您的IDE(在本例中为eclipse,然后再次打开它并运行您的项目。


0

将编译器添加到PATH可以解决我的问题...

export PATH="$HOME/opt/cross/bin:$PATH"

0

我的问题和上面的一位评论者一样。我不得不将二进制解析器更改为正确的解析器(对于Windows是PE,对于Linux是ELF,对于Mac是mach)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.