项目构建。但是没有创建二进制文件夹

时间:2013-05-02 00:18:02

标签: eclipse eclipse-cdt

我最近配置了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创建它时文件夹有一个特殊的外观,当你手动创建文件夹时它不起作用。该文件夹似乎包含与调试文件夹相同的文件。 这真是令人沮丧

7 个答案:

答案 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++ BuildTool Chain Editor。这解决了我的问题。