二进制永远不会构建

时间:2014-08-15 16:24:33

标签: c++ eclipse-cdt

我无法运行以下代码:

#include <iostream>
int main()
{
    std::cout << "Hello World" << std::endl;
    return 0;
}

没有编译错误。 构建输出:

18:18:58 **** Incremental Build of configuration Debug for project First Project ****
Info: Internal Builder is used for build
g++ "-Ic:\\mingw\\lib\\gcc\\mingw32\\4.8.1\\include\\c++" "-Ic:\\mingw\\lib\\gcc\\mingw32\\4.8.1\\include\\c++\\mingw32" "-Ic:\\mingw\\lib\\gcc\\mingw32\\4.8.1\\include\\c++\\backward" "-Ic:\\mingw\\lib\\gcc\\mingw32\\4.8.1\\include" "-Ic:\\mingw\\include" "-Ic:\\mingw\\lib\\gcc\\mingw32\\4.8.1\\include-fixed" -O0 -g3 -Wall -c -fmessage-length=0 -o Hello.o "..\\Hello.cpp" 

18:18:58 Build Finished (took 166ms)

我得到了可怕的“发射失败。未找到二进制文件。”对话。我已经在谷歌上了几个小时,但没有任何作用。 在我的项目文件夹中,创建了一个调试或发布文件夹(取决于我将其设置为),但它始终为空。没有创建'二进制文件'文件夹,因为有些帖子提到它应该。 没有提议的解决方案有效,禁用防病毒软件并没有解决问题。 我该如何解决?谢谢。

EDIT Eclipse版本Kepler Severive Release 1 建造ID:20130919-0819 CDT版本:8.3.0.201402142303

我正在使用MinGW

EDIT2 将属性&gt; c / c ++ build&gt;工具链编辑器中的“当前构建器”从CDT内部构建器更改为Gnu Make Builder会生成一个makefile。 输出:         13:57:41 **自动构建配置调试项目第一个项目**         做所有         建筑文件:../ Hello.cpp         调用:GCC C ++编译器         g ++ -I“c:\ mingw \ lib \ gcc \ mingw32 \ 4.8.1 \ include \ c ++” - 我“c:\ mingw \ lib \ gcc \ mingw32 \ 4.8.1 \ include \ c ++ \ mingw32” - 我“ c:\ mingw \ lib \ gcc \ mingw32 \ 4.8.1 \ include \ c ++ \ backward“-I”c:\ mingw \ lib \ gcc \ mingw32 \ 4.8.1 \ include“-I”c:\ mingw \ include “-I”c:\ mingw \ lib \ gcc \ mingw32 \ 4.8.1 \ include-fixed“-O0 -g3 -Wall -c -fmessage-length = 0 -MMD -MP -MF”Hello.d“-MT “Hello.d”-o“Hello.o”“../ Hello.com” make: * [Hello.o]错误1

13:57:42建成(耗时881毫秒)

3 个答案:

答案 0 :(得分:2)

您使用的是哪种编译器?您似乎只编译代码,而不是链接它。您必须构建和链接才能使其正常工作。

答案 1 :(得分:0)

-c标志仅编译源文件。它不会将目标文件链接到可执行文件中。加上这个:

g++ -o "..\\Hello.exe" "..\\Hello.o" && "..\\Hello.exe"

答案 2 :(得分:0)

只需从编译行中删除-c标记,然后将-o Hello.o更改为-o Hello.exe(猜测您使用的是Windows)。