You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Doxygen的.dox文件中根据编译开关生成差异化内容?

在Doxygen中基于编译开关生成平台专属文档

当然可以实现,Doxygen原生支持预处理指令,能直接在.dox文件里用类似条件编译的语法生成不同平台的HTML内容,具体操作如下:

1. 定义平台宏

你可以直接在代码里定义宏,比如:

#define UsedPlatform PlatformA

也可以在Doxygen的配置文件Doxyfile中通过PREDEFINED参数设置,不用修改代码:

PREDEFINED = UsedPlatform=PlatformA

2. 在.dox文件中编写条件文档

直接在文档注释里使用#if、#else、#endif这类预处理语句,按你示例的逻辑调整成中文即可:

/**
 * \page chapter3 第3章:内部设计

 \tableofcontents

 \section c3_static_view 3.1 静态视图

 内容示例:
 #if(UsedPlatform==PlatformA)
 当前使用的是Platform A平台
 #else
 当前使用的是Platform B平台
 #endif

 */

3. 关键注意点

  • 确认Doxygen的预处理功能处于开启状态,默认ENABLE_PREPROCESSING选项就是YES,若被修改过改回YES即可
  • 如果宏是字符串类型,要加引号,比如#define UsedPlatform "PlatformA",对应的条件判断要写成#if(UsedPlatform=="PlatformA")

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 14:52:38