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