我开始学习makefile。看看输出我看到很多次出现:
g++ -DHAVE_CONFIG_H -I ...
究竟是什么-DHAVE_CONFIG_H
?这个编译选项的功能是什么?
答案 0 :(得分:20)
所有-DHAVE_CONFIG_H
所做的就是定义预处理器令牌HAVE_CONFIG_H
,就像在每个源文件的开头都有#define HAVE_CONFIG_H
一样。
至于它的用途,这完全取决于源文件的其余部分(以及它包含的所有内容)。那就是你应该寻找的效果。
它看起来像它可能意味着头文件config.h
可用且应该包含在内,在这种情况下,您可能会在源文件的某处找到以下序列:< / p>
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
当您说它可用时,它将包含头文件。然而,这是我的假设,绝不是确切的影响,只是我将使用这样的预处理器符号。