为何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
相关产品推荐
相关产品推荐

