C 这个Makefile有什么问题?

C 这个Makefile有什么问题?,c,eclipse,makefile,C,Eclipse,Makefile,我正在尝试学习如何在Ubuntu中使用C语言生成文件,正如你可能猜到的,我是一个初学者。在一本关于C的书中有一章是关于这个主题的,他们给出了3个文件的简单示例:main.C、sum.C、sum.h(不带代码)和一个带有此代码的makefile: sum: main.o sum.o gcc –o sum main.o sum.o main.o: main.c sum.h gcc –c main.c sum.o: sum.c sum.h gcc –c sum.c 现在,

我正在尝试学习如何在Ubuntu中使用C语言生成文件,正如你可能猜到的,我是一个初学者。在一本关于C的书中有一章是关于这个主题的,他们给出了3个文件的简单示例:main.C、sum.C、sum.h(不带代码)和一个带有此代码的makefile:

sum: main.o sum.o
    gcc –o sum main.o sum.o
main.o: main.c sum.h
    gcc –c main.c 
sum.o: sum.c sum.h
    gcc –c sum.c 
现在,我试图在eclipse中编译这段代码,但它不起作用。我已经用上面的代码和前面提到的3个文件创建了一个名为makefile的文件。这是我得到的错误:

make all 
make: *** No rule to make target `all'.  Stop.
我将感谢任何帮助。
谢谢运行“makeall”,意味着您正试图构建一个名为“all”的目标,但尚未定义一个

您需要在第一行中添加:

all: sum

顺便说一句,如果您在没有参数的情况下运行'make',如果没有'all'目标,它将构建第一个目标。这就是为什么我建议您将“all”目标作为第一个目标。

运行“make all”意味着您正在尝试构建一个名为“all”的目标,但尚未定义一个

您需要在第一行中添加:

all: sum

顺便说一句,如果您在没有参数的情况下运行'make',如果没有'all'目标,它将构建第一个目标。这就是我建议您将“所有”目标作为第一个目标的原因。

Make告诉您:没有规则将目标设置为“所有”……Make告诉您:没有规则将目标设置为“所有”……不,如果有一个“所有”目标,则无论是否有其他目标,它都将首先构建,无论顺序如何。@H2CO3:第一个目标是调用make时生成的目标,无论是否有all@Jah:我还建议添加:。虚假:如果您使用GNU make,则为所有。不,如果存在all目标,则无论是否存在其他目标,都将首先生成该目标,无论其顺序如何。@H2CO3:第一个目标是调用make时生成的目标,无论是否存在all@Jah:我还建议加上:。假的:如果你使用GNU make的话。