如何让Doxygen解析.c文件但不将其显示在文件列表中?
解决Doxygen解析.c文件生成调用图但不显示在文件列表的方案
这里有几个可行的方案,你可以根据自身情况选择:
方案一:通过文档注释控制文件显示
- 在Doxygen配置中,将所有需要处理的
.h和.c文件加入INPUT项,确保Doxygen能解析.c文件以生成调用图。 - 开启配置项
HIDE_UNDOC_FILES = YES,该设置会把没有文档注释的文件从文件列表中隐藏。 - 给你的
.h文件添加标准文档注释(比如文件开头写/** 头文件功能说明 */),但不为.c文件添加任何文档注释。这样Doxygen会正常解析.c文件生成调用图,同时因为.c文件无文档,不会出现在文件列表里,.h文件则正常展示。
方案二:用自定义CSS隐藏.c文件条目(适合.c文件需加注释的场景)
如果你的.c文件必须添加文档注释,方案一无法适用,可以通过自定义CSS隐藏文件列表中的.c文件链接:
- 同样先将所有
.h和.c文件加入INPUT,确保调用图相关配置(如GENERATE_CALL_GRAPHS = YES)已开启。 - 创建一个
custom.css文件,写入以下样式:
div.file a[href$=".c.html"] { display: none !important; }
- 在Doxygen配置中设置
HTML_EXTRA_STYLESHEET = custom.css,生成的HTML文档里,.c文件的条目会被隐藏,但调用图已基于解析.c文件完成生成。
额外注意
- 无论使用哪个方案,建议确保
ENABLE_PREPROCESSING = YES和MACRO_EXPANSION = YES(如果代码中包含宏定义),避免Doxygen解析.c文件时出现错误。 - 生成函数调用图需要提前安装Graphviz工具,并在配置中指定
DOT_PATH路径。
内容的提问来源于stack exchange,提问作者XiaoLey
相关产品推荐
相关产品推荐

