Doxygen 没有为 `#ifdef X` `#endif` 中声明的函数生成文档

问题描述 投票:0回答:1

我正在用 C 语言创建一个库,并使用 Doxygen 1.9.4 为其编写内部文档。我有一个以下标头,包括来自库源(在本例中定义了

LIBRARY_SOURCE
)和使用我的库的程序:

/** @file
 *  File description... */

/** @brief Public function that is a part of an API */
void publicFunction();

#ifdef LIBRARY_SOURCE
    /** @brief Internal function that does things. */
    void internalFunction();
#endif

问题是,Doxygen 不会生成

internalFunction
的文档,但在
publicFunction
的情况下,一切都按预期工作。
Doxyfile
EXTRACT_ALL
选项没有帮助。

为什么这不起作用以及如何解决这个问题?预先感谢。

c doxygen preprocessor
1个回答
0
投票

您似乎没有使用最新版本的 Doxygen。如果我访问 Doxygen 网站并阅读变更日志,我会在 1.10 版本中看到下一行:

issue #10472: Symbols within a namespace after a heavily #ifdef class are omitted in HTML output

这能解决您的问题吗?

我知道这不是一个明确的答案,但我无法发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.