Linux:通过make包含头文件而不是c中的#include

时间:2013-06-25 11:49:08

标签: c linux makefile

我有一个在afile.cbfile.c中使用的宏(都在模块A中) 此宏位于aheader.h

这些都在不同的模块/目录中,并且在编译模块A之前编译aheader.h模块。

现在一种方法是在每个.c文件中执行#include "aheader.h"。 但是有没有办法在Makefile中添加一些内容(比如将它添加到头文件列表中),模块A, 以便在使用宏的任何地方挑选aheader.h

1 个答案:

答案 0 :(得分:3)

#include "aheader.h"是一件简单而正确的事情。使用宏时,C没有自动包含标题的功能。

如果您坚持在makefile中执行此操作,则可以添加-include aheader.h作为编译标志。它将包含在所有文件中。

只有在使用grep在C文件中找到宏时,才可以使用makefile添加此标志。但是复杂的makefile工作很复杂,我觉得没有它会更好。