我正在使用 doxygen 为我们的 C++ API 生成 html 帮助。
有些部分在代码中启用/禁用,例如
#ifdef EXPERIMENTAL_FEATURE1
class Experimental1
{
...
}
#endif
#ifdef EXPERIMENTAL_FEATURE2
class Experimental2
{
...
}
#endif
Run Code Online (Sandbox Code Playgroud)
我将 doxygen PREDEFINED 设置如下:
预定义 = 实验功能 1 实验功能 2
然而,这不会导致 doxygen 提取文档。对于这些课程。日志显示 doxygen 读取了文件。
PREDEFINED 的语法是否正确(用空格分隔且不带 =)?
我该如何调试这个?
小智 5
查看 doxygen 手册:
\n\nhttp://www.doxygen.nl/manual/preprocessing.html
\n\n典型的语法是:
\n\nPREDEFINED = "name1=value1" \\\n "name2=value2" \\\n "name3=value3"\nRun Code Online (Sandbox Code Playgroud)\n\n手册更详细地说:
\n\n\n\n\n标记的参数是\n 形式的宏列表:名称或名称=定义(无空格)。如果省略 de\xef\xac\x81nition 和“=”,则假定为“=1”。\n 为了防止通过 #undef 或 #undef 取消宏 de\xef\xac\x81nition 解\xef\xac\x81ned递归扩展使用 := 运算符\n 而不是 = 运算符。
\n
如果你没有值,你可以简单地写“name” - 所以你的例子应该可以工作。
\n\n确保 doxyfile 中的以下设置正确:
\n\nHIDE_UNDOC_CLASSES=NO\nEXTRACT_ALL=YES\nEXTRACT_LOCAL_CLASSES=YES\nRun Code Online (Sandbox Code Playgroud)\n\n否则,类不会放入文档中。
\n\n还要确保 ENABLE_PREPROCESSING 设置为 YES。
\n\n如果这一切都没有帮助,请发布一个重现问题的最小示例。
\n