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 语言中预取指针,针对 AMD Opteron 6168?

c++ - 将指针转换为其他指针

c - 在 C 中是一个查找表,替代 bash||php 中的变量

c - 如何在 libdbi 中使用游标 - postgresql

c++ - C++ dyld:未加载库-设置 '-L'后

c - Solaris 10 上更好的内存(堆)管理

makefile - 依赖于 make 中的远程文件

c++ - 将 Makefile 设置导入 VS2005 IDE

c++ - 在 makefile 中添加源文件和更新依赖项

c++ - 如何将 makefile 从生成可执行文件更改为生成共享库