我有一个在afile.c
和bfile.c
中使用的宏(都在模块A中)
此宏位于aheader.h
这些都在不同的模块/目录中,并且在编译模块A之前编译aheader.h模块。
现在一种方法是在每个.c文件中执行#include "aheader.h"
。
但是有没有办法在Makefile中添加一些内容(比如将它添加到头文件列表中),模块A,
以便在使用宏的任何地方挑选aheader.h
?
答案 0 :(得分:3)
#include "aheader.h"
是一件简单而正确的事情。使用宏时,C没有自动包含标题的功能。
如果您坚持在makefile中执行此操作,则可以添加-include aheader.h
作为编译标志。它将包含在所有文件中。
只有在使用grep
在C文件中找到宏时,才可以使用makefile添加此标志。但是复杂的makefile工作很复杂,我觉得没有它会更好。