Cond语句doxygen不工作

Cond语句doxygen不工作,doxygen,Doxygen,我试图使用cond的doxygen构造来区分内部和外部文档;但我似乎无法让它工作。我基本上希望完全排除一些文件,而不是有条件地排除。无论我在哪里添加标记(在include之前、在headerguard之前等等),文件和源都会显示出来 我徒劳的尝试是从doxegen repo获取测试文件 并将其添加到项目中 复制[Linux]的步骤 创建一个新目录 复制粘贴上述文件(必须将其重命名为.h,因为传递了.c?) 通过doxygen-g生成虚拟配置 更新Doxyfile ENABLED\u节=COND

我试图使用cond的doxygen构造来区分内部和外部文档;但我似乎无法让它工作。我基本上希望完全排除一些文件,而不是有条件地排除。无论我在哪里添加标记(在include之前、在headerguard之前等等),文件和源都会显示出来

我徒劳的尝试是从doxegen repo获取测试文件 并将其添加到项目中

复制[Linux]的步骤

  • 创建一个新目录
  • 复制粘贴上述文件(必须将其重命名为.h,因为传递了.c?)
  • 通过doxygen-g生成虚拟配置
  • 更新Doxyfile ENABLED\u节=COND\u ENABLED
  • 运行氧发生器
  • 检查html/index.html
但是,这在它为项目生成的html文档中仍然可见。我已经用其他值设置了ENABLED_SECTION变量,但是cond_ENABLED函数仍然显示。运行它通过的项目(doxygen)的测试目录。所以我迷路了

有什么建议吗

使用最新版本1.8.14进行了尝试


谢谢

关于
\cond
问题(我认为这不是对你面临的真正问题的直接回答,而是渴望得到评论)

上述文件用于有限的测试doxygen can do/do,第一行包含一些关于如何操作的说明。此外,还有一个默认的Doxyfile,其中包含正在使用的测试。很难在doxygen构建树之外运行单独的测试

关于“运行它通过的项目(doxygen)的测试目录”这句话,这是正确的,在这里,目前只对XML输出进行测试,并将生成的输出与一次创建的XML输出版本进行比较。目前还没有对HTML或PDF/LaTeX进行任何测试。最近,测试框架被稍微扩展了一下,所以在将来这应该是可能的(比较xhtml和tex输出,但是这里还有一些工作要做)

解析器版本将第一行中的
\cond
视为一个doxygen命令(正常的C注释),并跳过所有内容,直到第一行
\endcond
(在这种情况下,您的朋友总是
doxygen-d预处理器
)。我认为删除/修改第一行将产生更好的结果。然而,HTML输出等方面还有另一个问题。由于未记录功能
cond_enabled
,且
EXPAND_ALL
未设置为
YES
,因此该功能不会出现在文档中。因此,最好还是添加一行启用了函数
cond\u
的文档

关于看到的HTML问题,我稍微修改了doxygen中的相关测试,并将建议的补丁推送到github(pull request 714,)

注意:在普通C注释中跳过
\cond
的问题很难实现(参见pre.l和commentcnv.l中doxygen代码的逻辑复杂性)


编辑:2018/06/10:推送请求已集成到github的主版本中。

关于
\cond
问题(我认为这不是对您面临的真正问题的直接回答,而是希望得到评论)

上述文件用于有限的测试doxygen can do/do,第一行包含一些关于如何操作的说明。此外,还有一个默认的doxygen文件,其中使用了测试。很难在doxygen构建树之外运行单独的测试

关于备注“运行它通过的项目(doxygen)的测试目录”这是正确的,在这里,目前只对XML输出进行测试,并将生成的输出与XML输出的一个曾经创建的版本进行比较。目前没有对HTML或PDF/LaTeX进行测试。最近,测试框架已稍微扩展,因此在未来这应该是可能的(比较xhtml和tex输出,但这里还有一些工作要做)

解析器版本将第一行中的
\cond
视为一个doxygen命令(正常的C注释),并跳过所有内容,直到第一行
\endcond
(在这种情况下,您的朋友总是
doxygen-d预处理器
)。我认为删除/修改第一行将导致更好的结果。但是,对于HTML输出来说,还有另一个问题。由于未记录函数
cond_enabled
,并且
EXPAND_ALL
未设置为
YES
,因此该函数将不会出现在文档中。因此,最好还是添加一行启用功能
cond\u的文档

关于看到的HTML问题,我稍微修改了doxygen中的相关测试,并将建议的补丁推送到github(pull request 714,)

注意:在普通C注释中跳过
\cond
的问题很难实现(参见pre.l和commentcnv.l中doxygen代码的逻辑复杂性)


编辑:2018/06/10:推送请求已集成到github的主版本中。

在实际生成文档时,不将文件传递给
doxygen
怎么样?或者不传递
配置设置()?在这里发布您的代码。您可能想发布到某个Doxygen论坛或发送到他们的电子邮件列表。@Someprogrammerdude:这当然有效;但这对未来的我来说似乎是个问题:)@ThomasMatthews:会的,只是想确保我没有弄糟什么。在实际生成文档时,不将文件传递给
doxygen
,或者不传递给
EXCLUDE
配置设置()?在这里发布您的代码。您可能想发布到某个Doxygen论坛或发送到他们的电子邮件列表。@Someprogrammerdude:这当然有效;但闻起来对未来的我来说是个问题:)@ThomasMatthews:可以吗