我最近配置了eclipse CDT用于C ++开发。我可以构建项目,项目中不会出现任何错误。当我尝试运行该项目时,我收到一个错误,指出:午餐失败没有找到二进制文件。这是我使用eclipse选项File> New> C ++ Project>创建的基本hello word c ++项目。可执行的> Hello world C ++ Project。
我尝试了this解决方案。它没有效果。
我尝试多次清理项目和构建项目。
我在我的另一台计算机上安装了带有juno的CDT,没有任何问题。
我以前遇到过配置eclipse的问题我认为不相关,但可以找到详细信息here。
因此exe文件位于debug文件夹中,但由于某种原因,eclipse拒绝运行它。它就像它没有看到exe文件。有什么建议?
更新 我已经查看了其他成功执行的项目,并注意到其中有一个二进制文件夹,在不起作用的项目中不存在。 (即使在不工作的项目中,我可以通过在构建后转到包含exe文件的debug文件夹手动午餐exe文件) 这意味着由于某种原因,eclipse不会使用exe文件创建二进制文件夹。我尝试手动创建文件夹并将exe文件放在其中,但是当eclipse创建它时文件夹有一个特殊的外观,当你手动创建文件夹时它不起作用。该文件夹似乎包含与调试文件夹相同的文件。 这真是令人沮丧
答案 0 :(得分:4)
您是否在Project Explorer中的“二进制”虚拟文件夹下看到该文件?
看起来你“二进制解析器”没有选择可执行文件。您是否使用CDT生成的makefile或您自己编写的makefile?同时检查打开项目属性时是否选择“PE Windows Parser”和/或“Cygwin PE Parser”,导航到“C / C ++ Build”/ Settings页面和“Binary Parsers”选项卡。
答案 1 :(得分:1)
我遇到了同样的错误,这就是我所做的:
必须选择正确的二进制解析器,以便Eclipse可以识别可执行文件:选择项目,然后右键单击。
项目 - >属性 - > C / C ++构建 - >设置 - >二进制解析器,PE Windows解析器(或者如果使用该编译器,则可以选择Cygwin)。
至少对于Cross编译器来说,这对我有用。
在Linux中我使用Elf解析器。
答案 2 :(得分:1)
我有同样的问题。只需保存我的.c文件即可解决!仅在我的.c文件中单击 Ctrl + S 即可解决问题。我认为原因是程序没有构建任何东西!现在,它会生成Binaries文件夹并且可以正常工作!
答案 3 :(得分:0)
Eclipse Mars + CDT。 Windows 7 64位。这可能是旧的,但如果一些新人坚持这个问题 - 我的是as.exe以某种方式被破坏,所以它无法启动,因此没有生成*。文件,* .s文件,随后ld有无事可做,因为没有* .o文件,而且没有* .exe。所以它看起来像构建但没有可执行文件因此而创建。我通过简单地下载最新的MinGW二进制工具并覆盖所有/ bin和/ mingw32文件来修复它。
答案 4 :(得分:0)
您必须使用 Ctrl + B 来构建项目。它会自动为您创建二进制文件。
答案 5 :(得分:-1)
如果你第一次使用eclipse for c ++,你必须在运行程序之前构建程序。要构建项目项目>>构建项目然后运行我认为这将是它。
答案 6 :(得分:-1)
安装eclipse时我选择只安装MinGW。一旦我想开始一个新项目,没有MinGW选项,我创建了一个项目,我在问题标题上遇到了同样的问题。我更改了func handleLogout() {
if (AWSSignInManager.sharedInstance().isLoggedIn) {
AWSSignInManager.sharedInstance().logout(completionHandler: {(result: Any?, authState: AWSIdentityManagerAuthState, error: Error?) in
DispatchQueue.main.async(execute: {
self.presentSignedOutViewController()
self.presentLoadingView()
})
//SessionController.sharedInstance.resetSession()
})
// print("Logout Successful: \(signInProvider.getDisplayName)");
} else {
assert(false)
}
}
> Properties
>稍后C/C++ Build
到Tool Chain Editor
。这解决了我的问题。