这个Makefile有什么问题?

Rob*_*777 1 c eclipse makefile

我正在尝试学习如何在Ubuntu中使用带有C的makefile(我猜你是初学者).在"A Book on 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 
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试在eclipse中编译此代码,但它不起作用.我用上面的代码和前面提到的3个文件创建了一个名为makefile的文件.这是我得到的错误:

make all 
make: *** No rule to make target `all'.  Stop.
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助.谢谢

Jah*_*Jah 7

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

您需要在第一行添加:

all: sum
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果你运行'make'(没有参数),它将构建第一个目标(如果没有'all'目标).这就是为什么我建议你把'全部'目标作为第一个目标.

  • @ H2CO3:第一个目标是在调用"make"时构建的目标,无论是否存在all.@Jah:我还建议添加:`.PHONY:all`如果你正在使用GNU make. (5认同)