Windows 7、Eclipse CDT、Juno Service Release 2、交叉编译器。
项目确实编译生成的可执行文件,但 Eclipse 看不到它们;因此“运行”失败。可执行文件放置在 Debug 目录中。双击或命令提示符调用编译的可执行文件没有问题。
我该如何解决这个问题?
Windows 7、Eclipse CDT、Juno Service Release 2、交叉编译器。
项目确实编译生成的可执行文件,但 Eclipse 看不到它们;因此“运行”失败。可执行文件放置在 Debug 目录中。双击或命令提示符调用编译的可执行文件没有问题。
我该如何解决这个问题?
这发生在我身上,我找到了一个解决方案,看看这是否适合你:
使用锤子图标构建项目后:
之后,您应该能够随心所欲地运行该项目。
希望这对你有用。
只需选择项目并按CTRL+ B。
我想我找到了解决方案 - 必须选择正确的二进制解析器,以便 Eclipse 可以识别可执行文件:
选择项目,然后右键单击。Project->Properties->C/C++ Build->Settings->Binary Parsers, PE Windows Parser。
即,如果使用 Cygwin 编译器,则应使用 Cygwin 解析器。
这对我来说至少适用于交叉编译器(在 Windows 7 和 Ubuntu 12.04 上)。在 Linux 上,我使用Elf解析器。
如果有人有更好的解决方案,请指教。
按 ctrl +B 然后您可以使用运行按钮。
如果你有一个成功的构建,并得到一个“找不到启动二进制文件”错误。尝试执行以下步骤:
单击运行 -> 运行配置 -> C/C++ 应用程序 -> 单击 project_name 调试 -> 单击浏览并选择您的项目文件 -> 按确定 -> 在其下方浏览二进制文件(转到您的 Eclipse 工作区并选择您的项目文件-> 你会找到两个文件 1.Debug 2.Src -> 点击调试文件 -> 下一步点击带有你的项目名称的文件并按下 ok) -> 然后点击应用并按下运行按钮。
这应该可以解决问题
对于它的价值,我遇到了这个问题 - 原因是所选项目的二进制文件中的 DWARF 3 信息无效(没有任何可运行的二进制文件)。
它的工作方式是这样的:我有两个项目Main
和Library
. Main
取决于Library
项目,前者有一个可执行文件,而后者只生成一个静态库(Main
链接到)。
我的运行选项设置为“运行/调试 - >启动”设置设置为“启动当前,否则为最后”,如下所示(见右下角):
如果我Main
选择了项目,一切都会正常工作:它将启动主项目。如果我让Library
项目选择了1,它将因 OP 给出的错误消息而失败。原因似乎是这样的:由于我Library
选择了项目,PE扫描仪将扫描项目中的二进制文件以查看是否有可启动的文件,并且由于此错误导致扫描失败,因此错误消息在它得到之前弹出以“启动先前启动的应用程序”。
我可以通过以下方式解决它:
1我通常不会直接选择项目,当然,它会被间接选择,因为我正在处理它包含的源文件之一。
这对我有用。
转到项目 --> 属性 --> 运行/调试设置 --> 单击配置并单击“编辑”,现在将打开一个“编辑配置”。
点击“搜索项目”,从“二进制文件”中选择二进制文件,然后点击确定。
注意:在执行所有这些操作之前,请确保您已完成以下操作
--> 执行“Build All”或 (Ctrl+B) 后生成二进制文件
我的经验是,在构建项目 ( ) 之后,您需要在主工具栏的或下拉菜单CTRL+B
中创建运行(或调试)配置。然后在主页面,点击Run
Debug
Search Project...
按钮。
这将找到您构建的所有可执行文件并在对话框中显示它们。您可以选择正确的然后点击运行(或
在尝试了这里的一切之后,对我有用的是授予 eclipse 的执行权限:
cd eclipse-installation-dir
sudo chmod +x eclipse
在 Ubuntu 12.04 LTS 上使用 Eclipse Luna。
确保文件夹名称不包含 .c 扩展名。当我删除文件夹名称中的 .c 扩展名时,它会自动工作。
运行代码时需要点击MinGW编译器。不这样做将导致启动失败二进制文件未找到错误。
我在 Eclipse 3.8.1 上遇到了同样的问题。对我来说,它可以将工件类型设置为可执行:
右键项目-> C/C++ Build -> Settings -> Build Artifact -> Artifact Type: Executable
最后重建项目会在 Project Explorer 中生成 Binaries 条目。
下面的视频链接更详细地说明了这些步骤: