Windows 7、Eclipse CDT、Juno Service Release 2、交叉编译器。
项目可以编译生成可执行文件,但是Eclipse无法看到它们,因此“运行”失败。可执行文件放置在Debug目录中。双击或使用命令提示符调用已编译的可执行文件时没有问题。
我该如何解决这个问题?
Windows 7、Eclipse CDT、Juno Service Release 2、交叉编译器。
项目可以编译生成可执行文件,但是Eclipse无法看到它们,因此“运行”失败。可执行文件放置在Debug目录中。双击或使用命令提示符调用已编译的可执行文件时没有问题。
我该如何解决这个问题?
这也发生在我身上,我找到了解决方案,看看这个方法是否适用于你:
在使用锤子图标构建项目后:
之后,您应该能够随心所欲地运行项目。
希望这对你有帮助。
只需要选择项目,然后按下CTRL + B即可。
我认为我找到了解决方案-必须选择合适的二进制解析器,这样Eclipse才能识别可执行文件:
选择项目,然后右键单击。 项目->属性->C / C ++构建->设置->二进制解析器,PE Windows解析器。
也就是说,如果使用Cygwin编译器,则应使用Cygwin解析器。
对于我来说,这至少在交叉编译器上(在Windows 7和Ubuntu 12.04上都是如此)有效。 在Linux上,我使用 Elf 解析器。
如果有更好的解决方案,请指教。
按下ctrl + B,然后您可以使用“运行”按钮。
就我所知,我曾经遇到过这个问题 - 原因是所选项目中的二进制文件中存在无效的DWARF 3信息(该项目没有任何可运行的二进制文件)。
它的工作方式大致如下:我有两个项目Main
和Library
。 Main
依赖于Library
项目,前者具有可执行文件,而后者只生成静态库(Main
链接到该库)。
我的运行选项设置为“运行/调试 ->启动”设置为“启动当前,否则上次”的设置如下(请参见右下角):
如果我选择了Main
项目,一切都会很好:它会启动主项目。如果我选择了Library
项目1,它就会因为OP给出的错误信息而失败。原因似乎是这样的:由于我选择了Library
项目,PE扫描器会扫描项目中的二进制文件,以查看是否有可启动的文件,而由于扫描失败由于这个漏洞,在它到达“启动先前启动的应用程序”之前,错误消息就会弹出。1 当然,我通常不会直接选择项目,因为我是在其中一个源文件中工作,它会间接地被选择。
CTRL+B
)后,您需要在主工具栏的Run
或Debug
下拉菜单中创建一个运行(或调试)配置。然后在主页面中,点击Search Project...
按钮。这将查找您构建的所有可执行文件并在对话框中显示它们。您可以选择正确的文件,然后点击“运行”(或)。