c - 这个简单的 Makefile 有什么问题吗?

标签 c makefile

我有两个 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/

相关文章:

c - C 是否支持可选的空参数?

在 Linux 中更改进程名称而不更改 argv[0]

makefile - 如何指示 Makefile 使用不同的编译器

ruby - 为什么 gem 不自动编译我的 C 扩展

c - 如何为当前项目配置 .ycm_extra_conf.py include PATH

python - 如何在 python 中修改 Python 变量(如引用)的值

c - 我打印结构信息的代码有什么问题?

c - C中没有程序输出

c - 简单的 makefile 不生成输出文件(正确)

docker - Makefile docker 等待数据库准备就绪