【发布时间】:2016-04-13 00:32:15
【问题描述】:
首先对不起我的英语不好......
这是我的问题: 我的应用程序由 main.c(主程序)、functions.c(代码)、functions.h(原型)和 headers.h(typedefs、定义等)组成。
在 main 的代码中(当然,在 functions.c 中)我包含了 functions.h,而在 functions.h 中我包含了 headers.h。
我应该如何在 makefile 中编译 headers.h?我没有 headers.c:我还需要创建 headers.o 吗?
这是我的 makefile 代码:
application: main.o functions.o
gcc -o application main.o functions.o
main.o: main.c functions.o
gcc -c -Wall -pedantic main.c
functions.o: functions.c functions.h
gcc -c -Wall -pedantic functions.c
clean:
rm -f *.o
如果我手动编译 headers.h 一切正常
gcc -c -Wall -pedantic headers.h
编辑:这不再是真的。我不知道为什么它在 5 分钟前有效。
获取 .gch 文件。我应该在 makefile 的哪里写那行?
谢谢!
【问题讨论】:
-
如果头文件发生更改,发布的 makefile 将无法重建目标文件。建议学习如何让makefile(在gcc的帮助下)创建依赖文件以及如何将所有这些合并到你的makefile中。此链接显示了一种方法:stackoverflow.com/questions/2394609/…>
标签: c makefile header-files