You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Doxygen未生成文档?仅开启EXTRACT_ALL才生效的问题排查

Doxygen EXTRACT_ALL=NO时不生成文档的原因分析

当你把EXTRACT_ALL设为NO时,Doxygen只会提取明确标记为需要文档化的实体和文件,出现你描述的情况,大概率是以下几个原因:

  • 目标实体未满足默认提取规则
    Doxygen默认只提取全局可见的实体(比如C语言里非static的全局函数、全局变量),如果你的3darr.c里的函数/变量是static修饰的,默认不会被提取。要提取这类实体,需要手动开启EXTRACT_STATIC=YES,或者把实体改成全局可见。

  • 文件未添加@file注释
    如果你的3darr.c开头没有类似/** @file 3darr.c 三维数组操作工具 */的注释,Doxygen可能不会将这个文件纳入文档生成范围(除非开EXTRACT_ALL强制扫描所有文件)。添加@file注释是明确告诉Doxygen这个文件需要被处理。

  • 注释格式不符合关联要求
    确保你的Doxygen注释块和被注释的实体之间没有空行,并且使用正确的注释标记:
    正确示例:

    /**
     * 初始化一个三维数组
     * @param size 数组各维度的大小
     * @return 初始化后的数组指针
     */
    void* init_3darr(int size[3]) {
        // ...
    }
    

    如果注释块和函数之间有空行,Doxygen可能无法把注释和实体关联起来。

  • INPUT配置未包含目标文件
    检查Doxyfile里的INPUT选项,确认是否指定了3darr.c或者当前目录(.)。如果INPUT是空的或者没包含这个文件,Doxygen根本不会扫描到它,自然不会生成文档。

内容的提问来源于stack exchange,提问作者schuelermine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 05:28:30