【问题标题】:Doxygen tree-view shows only one group/moduleDoxygen 树视图仅显示一个组/模块
【发布时间】:2017-11-08 17:46:41
【问题描述】:

在几个不同的.h 文件中,我有:

/**
 * @defgroup NAME <title>
 * <description>
 * @{
 */

// ...

/** @} */

也就是说,我定义了几个组。在生成的 HTML 文档中,所有组都显示在 Modules 下。但是,在树视图层次结构中,仅显示第一组。为什么?

如果我通过DISABLE_INDEX = NO 启用正常的模块 菜单,则该菜单包括所有 3 个模块(应该如此)。那么为什么树视图不显示全部 3 个呢?


我正在使用 Doxygen 1.8.13。

为了完整起见,这里是我的Doxyfile,仅显示那些与默认值不同的值:

PROJECT_NAME            = "cdecl"
PROJECT_BRIEF           = "Compose and decipher C (or C++) type declarations or casts, aka ‘‘gibberish.’’"

INPUT                   = README.md src
EXTENSION_MAPPING       = l=C y=C
FILE_PATTERNS           = *.c *.h *.l *.md *.y
FILTER_PATTERNS         = "*.h=sed s/CDECL_[A-Z]*_INLINE/inline/"
PREDEFINED              = __GNUC__ \
                          WITH_READLINE \
                          WITH_TERM_COLUMNS
EXCLUDE                 = src/config.h \
                          src/lexer.c \
                          src/literals.h src/literals.c \
                          src/parser.c src/parser.h
OUTPUT_DIRECTORY        = docs

EXTRACT_ALL             = YES
EXTRACT_PACKAGE         = YES
EXTRACT_STATIC          = YES

DISABLE_INDEX           = YES
GENERATE_TREEVIEW       = YES

ALPHABETICAL_INDEX      = NO
ENUM_VALUES_PER_LINE    = 1
FORCE_LOCAL_INCLUDES    = YES
INTERNAL_DOCS           = YES
JAVADOC_AUTOBRIEF       = YES
MARKDOWN_SUPPORT        = YES
MAX_INITIALIZER_LINES   = 0
OPTIMIZE_OUTPUT_FOR_C   = YES
QUIET                   = YES
SHOW_INCLUDE_FILES      = NO
SORT_BRIEF_DOCS         = YES
TAB_SIZE                = 2
TYPEDEF_HIDES_STRUCT    = YES
USE_MDFILE_AS_MAINPAGE  = README.md
WARN_NO_PARAMDOC        = YES

SOURCE_BROWSER          = YES
STRIP_CODE_COMMENTS     = YES
REFERENCED_BY_RELATION  = YES
REFERENCES_LINK_SOURCE  = YES
REFERENCES_RELATION     = YES

【问题讨论】:

  • 您使用的是哪个版本的 doxygen(最新的 1.8.13?)。您能否完成给定的 .h 文件,以便它可以直接用于生成所需的(错误的)输出?
  • @albert 是的,使用 1.8.13。我不明白你在问什么“完成给定的.h 文件....”
  • 在您的图片中,您有 AST 节点、红黑树等,但在代码中我没有看到任何回溯。
  • @albert 那是因为我没有发布我的整个源代码库。
  • 不必发布代码库,但显示问题的简化示例将有助于理解/重现问题。

标签: doxygen


【解决方案1】:

尽管我在浏览器中使用了强制重新加载,但显然 不会 导致 JavaScript 被重新加载。这些模块是使用 JavaScript 完成的(为什么??)。所以答案是 Doxygen 或我对它的使用没有任何问题:这是一个愚蠢的浏览器缓存问题。

为了强制重新加载所有内容,我必须清除浏览器缓存才能看到更改。这在编写文档时真的很烦人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    相关资源
    最近更新 更多