日期:2014-05-16  浏览次数:20932 次

关于makefile 的问题。,困扰了很长时间。
看了跟我一起写makefile,我自己动手写了一个,但是总是出不来结果。下面是代码
test.c

#include<stdio.h>


int main(void) {
printf("!!!Hello World!!!");
return 0;
}
###########
makefile
 
edit:test.o 
cc -o edit test.o

test.o:test.c
cc -c test.c
.PHONY:clean

clean :
rm edit test.o 

这样会出现下面这个错误
dengnice@dengnice-laptop:~/te$ make
cc -c test.c
cc -o test.o
cc: no input files
make: *** [edit] 错误 1
(目标文件和源文件肯定在一个目录下,那个目录就是te)
然后把makefile中的前两行改为(学长给我改的)
edit:test.o
cc -o $@ $< #test.o
这样就会生成test.o和edit文件,但是我不知道为什么我那样写错了,学长也不是很清楚,所以来论坛上请教大侠们指点~!

------解决方案--------------------
cc -o test.a test.o