Windows 7,Eclipse CDT,Juno Service Release 2,交叉编译器。
项目会编译生成的可执行文件,但Eclipse无法看到它们;因此'运行'失败。可执行文件放在Debug目录中。双击或命令提示符调用已编译的可执行文件工作没有问题。
我该如何解决这个问题?
答案 0 :(得分:44)
这发生在我身上,我找到了一个解决方案,看看这是否适合你:
使用锤子图标构建项目后:
之后你应该能够按照自己的意愿运行项目。
希望这适合你。
答案 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 。
答案 4 :(得分:3)
答案 5 :(得分:2)
按Ctrl + B,然后可以使用“运行”按钮。
答案 6 :(得分:2)
首先,我必须单击一个小箭头按钮,以打开一个包含“运行配置”的菜单,
然后在以下窗口中,我必须单击“ C / C ++ Application”,然后单击带有绿色+的无文本按钮
,然后eclipse可以运行/调试程序。 :)
答案 7 :(得分:1)
对于它的价值,我遇到了这个问题 - 原因是所选项目中二进制文件中的DWARF 3信息无效(没有任何可运行的二进制文件)。
它的工作方式是这样的:我有两个项目Main
和Library
。 Main
取决于Library
项目,前者有可执行文件,而后者只生成了一个静态库(Main
链接)。
我的运行选项设置为"运行/调试 - >发射"设置设置为"启动当前,否则最后"如下(见右下图):
如果我选择了Main
项目,一切都会正常工作:它会启动主项目。如果我选择Library
项目 1 ,它将失败并显示OP提供的错误消息。原因似乎是这样的:因为我选择了Library
项目,PE扫描程序将扫描项目中的二进制文件以查看是否有任何可启动项,并且因为扫描失败due to this bug错误消息在它到达之前弹出#34;启动之前推出的应用程序"。
我可以通过以下方式解决这个问题:
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
之后,您需要在主工具栏的Run
或Debug
下拉菜单中创建运行(或调试)配置。然后在主页上,点击
Search Project...
按钮。
这将找到您已构建的所有可执行文件,并在对话框中显示它们。您可以选择合适的一个,然后点击“运行”(或
答案 13 :(得分:0)
这对我有用。
转到项目->属性->运行/调试设置->单击配置并单击“编辑”,现在将打开“编辑配置”。
点击“搜索项目”,从“二进制文件”中选择二进制文件,然后单击“确定”。
注意:在执行所有这些操作之前,请确保已完成以下操作
->执行“ Build All”或(Ctrl + B)
后,将生成二进制文件答案 14 :(得分:-2)
下面的视频链接更详细地说明了这些步骤: