0

当我使用 Eclipse 构建项目时,我收到有关 Makefile 的以下错误:µ

Type make: *** No rule to make target `hello.exe', needed by `all'.  Stop.

我的 Makefile 是这样的:

all: hello

hello: main.o factorial.o hello.o
   g++ main.o factorial.o hello.o -o hello

main.o: main.cpp
   g++ -c main.cpp

factorial.o: factorial.cpp
   g++ -c factorial.cpp

hello.o: hello.cpp
   g++ -c hello.cpp

clean:
   rm -rf *o hello

有谁知道我的错误是什么?先感谢您。

4

2 回答 2

0

我不知道 Eclipse,但无论Makefile你拥有什么,都可以在 Linux 中正常工作。像这样尝试更改目标名称all并签出

all: hello.exe

hello.exe: main.o factorial.o hello.o

g++ main.o factorial.o hello.o -o hello.exe

于 2013-03-06T11:44:02.900 回答
0

1、祝你用 Eclipse 开发好运,你需要很多 Zen

第二,快速回顾一下如何读取makefile:

target: requiredTarget(optional)
 how to generate the target

因此,如您所见,阅读 makefile 的第一行就像是在说:“我有一个名为all的目标,而这个目标需要目标hello才能生成”。

现在目标all是一个特殊的目标,它是隐含的,所以当你或你的 IDE 只是make在你的 shell中键入时make all是隐含的(当然你可以用 指定你的目标make,特殊情况只在没有指定构建目标时应用通过命令行)。

链以总是导致构建目标make的显式或显式开头,目标在目标中调用,但由于您在 Windows 上,后缀会自动添加,您找不到名为.make allallallhello.exemakehello.exe

基本上,您需要管理特定于操作系统的构建步骤,并且您必须编辑该 makefile 以使其工作,或者您可以等待更深入 Eclipse 的人查看是否有一个与 makefile 相关的好选项来管理这个特定于平台的东西。

一个很好的介绍是http://www.cprogramming.com/tutorial/makefiles.html

考虑用于 C++ 开发的 QTcreator。

于 2013-03-06T11:38:26.507 回答