Doxygen 1.8.5的FILE_PATTERNS配置及*.hh文件处理问题咨询
Doxygen 1.8.5 配置文件(dconfig)常见问题解决
环境说明
必须使用Doxygen 1.8.5版本,通过dconfig文件运行工具,无法使用Doxywizard。
问题1:FILE_PATTERNS多模式仅最后一项生效,需拆分多个配置文件规避
问题原因
Doxygen配置项中,多次赋值同一变量会直接覆盖之前的设置。如果你的dconfig文件是按以下方式设置的:
FILE_PATTERNS = *.cpp FILE_PATTERNS = *.h FILE_PATTERNS = *.hh FILE_PATTERNS = *.inc FILE_PATTERNS = *.f
那么只有最后一行的*.f会生效,前面的模式都会被覆盖。
解决方案
将所有文件模式合并到同一行,用空格分隔,无需拆分多个配置文件:
FILE_PATTERNS = *.cpp *.h *.hh *.inc *.f
这样所有指定格式的文件都会被Doxygen扫描并生成到HTML输出中。
问题2:单独配置*.hh文件时工具卡住,加逗号后运行但无内容
问题原因
- Doxygen 1.8.5默认未将
.hh后缀映射为C++头文件,导致解析逻辑异常; - 单独设置
FILE_PATTERNS = *.hh时,若文件存在语法问题(如未闭合的注释、非法宏定义),会导致Doxygen在分析成员关系环节卡住; - 添加额外逗号会导致模式匹配失效,因此运行后无相关文件信息。
解决方案
- 明确文件后缀映射:在dconfig中添加配置,将
.hh关联到C++:
EXTENSION_MAPPING = hh=C++
- 简化模式配置:保持
FILE_PATTERNS = *.hh的正确格式,不要添加多余逗号; - 检查文件语法:排查目标
.hh文件的语法问题,确保注释、宏、类/函数定义格式规范,避免Doxygen分析时出现异常。
按照上述配置后,Doxygen应能正常扫描.hh文件并生成对应的HTML文档。
内容的提问来源于stack exchange,提问作者Michael789
相关产品推荐
相关产品推荐

