2

我有一个宏,用于afile.cbfile.c(都在模块A中)这个宏在aheader.h

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

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

4

1 回答 1

3

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

如果你坚持在makefile中做,你可以添加-include aheader.h为编译标志。它将包含在所有文件中。

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

于 2013-06-25T11:52:20.653 回答