我开始学习makefile。查看输出,我看到很多出现的情况:
g++ -DHAVE_CONFIG_H -I ...
-DHAVE_CONFIG_H
到底是什么?这个编译选项的作用是什么?
-DHAVE_CONFIG_H
所做的就是定义预处理器标记HAVE_CONFIG_H
,就像在每个源文件的开头有#define HAVE_CONFIG_H
一样。
至于它的用途,这完全取决于源文件的其余部分(以及它包含的所有内容)。这就是您应该寻找以了解其效果的地方。
它看起来像,这可能意味着头文件
config.h
可用并且应该包含在内,在这种情况下,您可能会在源文件中的某处找到以下序列:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
当您说它可用时,它将包含头文件。然而,这只是我的假设,绝不是确切的效果,只是I会使用这样的预处理器符号。