我有两个c文件:a4.c和a4Defs.h

代码可以正常编译:gcc -o a4 a4.c a4Defs.h

我已经构建了这个简单的makefile,但是当我执行“ make”时,出现此错误:

gcc -c a4Defs.h
gcc -c a4.c
gcc -o a4 a4.o a4Defs.o
gcc: error: a4Defs.o: No such file or directory
make: *** [a4] Error 1


我的makefile有什么问题?

a4: a4.o a4Defs.o
    gcc -o a4 a4.o a4Defs.o

a4.o:   a4.c a4Defs.o
    gcc -c a4.c

a4Defs.o:   a4Defs.h
    gcc -c a4Defs.h

clean:
    rm -f *.o a4

最佳答案

a4Defs.h是头文件,而不是.c文件,因此编译它没有任何意义。

您的make文件应该看起来像这样

a4: a4.o
    gcc -o a4 a4.o

a4.o:   a4.c a4Defs.h
    gcc -c a4.c


clean:
    rm -f *.o a4

关于c - 这个简单的Makefile有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20135892/

10-12 16:11