调用图中缺少宏函数

Macro function missing in call graph

使用的 Doxygen 版本:1.8.11

我有以下代码:

void func();   

void main ()
{
    func();
}

当我运行生成Doxygen图时,输出是正确的:

但是,如果我使用函数宏:

void func();   
#define  MACRO func

void main ()
{
    MACRO();
}

输出不正确,因为缺少被调用的函数:

我应该如何设置预处理器标志才能使其工作?到目前为止,我尝试过的任何组合都失败了。

谢谢


编辑:预处理后添加代码

# 1 "test.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "test.c"

void func();

void main ()
{
 func();
}

如果你的系统上安装了 clang,你可以在 Doxyfile 中启用 CLANG_ASSISTED_PARSING 选项,它比 doxygen 内置预处理器更准确但有点慢。这会在我的系统上生成正确的调用图。