如何在Doxygen中为不同分组的源码文件夹生成独立索引页面
C SDK类Nordic风格独立分组文档实现方案
推荐使用C生态最通用的Doxygen工具实现需求,操作步骤如下:
1. 配置源码分组规则
首先通过分组配置让Libraries和Application两个模块在文档中完全独立:
- 修改Doxygen配置文件(Doxyfile)的
INPUT参数,按目录归属录入对应路径,不要直接扫描全项目根目录 - 可以选择侵入源码或者非侵入两种方式做分组标记:
- 侵入式:在各模块公共头文件中添加Doxygen分组注解,示例如下:
/** * @defgroup Libraries 核心库 * @brief 所有底层依赖库集合 * * @defgroup Utils 工具库 @ingroup Libraries * @defgroup Services 服务组件 @ingroup Libraries * @defgroup Drivers 驱动层 @ingroup Libraries */ /** * @defgroup Application 应用层 * @brief 业务逻辑与配置相关代码集合 * * @defgroup Main 主程序入口 @ingroup Application * @defgroup Config 配置模块 @ingroup Application */ - 非侵入式:单独写一个仅包含分组注解的头文件,不参与业务编译,仅在生成文档时加入
INPUT路径即可
- 侵入式:在各模块公共头文件中添加Doxygen分组注解,示例如下:
- 打开Doxyfile中的配置项
SEPARATE_MEMBER_PAGES = YES、GROUP_GRAPHS = YES,保证每个分组拥有独立的展示页面
2. 新增独立的简介与用户指南页面
两个自定义页面可以直接用Markdown编写,无需修改源码:
- 简介页面:在单独的md文件开头添加
\mainpage 项目简介注解,写入你需要的简介内容 - 用户指南页面:在单独的md文件开头添加
\page user_guide 用户指南注解,写入指南内容 - 把两个md文件的路径加入Doxyfile的
INPUT配置项,Doxygen会自动生成独立的导航入口
3. 调整页面结构匹配Nordic文档风格
- 打开Doxyfile配置项
GENERATE_TREEVIEW = YES、DISABLE_INDEX = NO,左侧导航栏会自动将Libraries和Application拆分为两个独立的根节点,和Nordic官方文档的Libraries、Examples分组展示逻辑完全一致 - 如果需要对齐Nordic的视觉样式,可以自定义Doxyfile的
HTML_STYLESHEET参数,替换为自定义的样式表即可 - 如果需要生成PDF版本,调整LATEX相关配置,分组逻辑会和HTML版本保持一致
4. 生成最终文档
直接运行命令doxygen Doxyfile即可生成完整文档,打开输出目录下的html/index.html就能看到符合要求的独立分组展示效果。
如果你需要更灵活的内容编排,还可以用Doxygen的
\subpage注解手动调整各页面的层级关系,完全自定义导航结构。
内容的提问来源于stack exchange,提问作者Pintu Patel
相关产品推荐
相关产品推荐

