Doxygen如何为自定义页面启用自动生成的被引用列表功能
解决方案
该需求可以实现。REFERENCED_BY_RELATION未生效是因为该配置默认仅对函数、类、枚举等代码实体生效,对@page创建的自定义文档页面需要额外配置适配,具体操作如下:
基础配置方案(推荐)
首先确认你使用的Doxygen版本不低于1.9.0,低版本对非代码实体的引用追踪存在已知缺陷。之后在Doxygen配置文件中开启以下配置项:
REFERENCED_BY_RELATION = YESREFERENCES_RELATION = YESALPHABETICAL_INDEX = YES- 若生成HTML输出,确保
GENERATE_HTML = YES,该功能仅在HTML输出场景下对自定义页面生效
配置完成后重新生成文档即可在P1页面底部看到自动生成的「被引用于」区块,展示所有通过@ref引用了P1的页面链接。
注意:引用时必须使用
@ref P1的原生Doxygen引用语法,不能直接用Markdown链接指向P1的生成后路径,否则Doxygen无法识别引用关系;同时不要在EXCLUDE_SYMBOLS配置中添加自定义页面的标签,否则引用关系会被过滤。
兜底兼容方案
如果基础配置不生效(比如使用低于1.9.0的Doxygen版本),可以通过自定义别名实现相同效果:
- 在Doxygen配置文件中添加如下别名配置:
ALIASES += "reflist{1}=\xrefitem reflist \"被引用列表\" \"引用列表\" 本页面被 \ref \1 引用"
- 在所有引用了P1的页面(比如P2)末尾添加
@reflist{P1} - 重新生成文档后,P1页面会自动生成「被引用列表」区块,聚合所有引用了P1的页面链接
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

