Doxygen:编译OpenFOAM 1.7.1文档时出错

Doxygen:编译OpenFOAM 1.7.1文档时出错,doxygen,Doxygen,我正在尝试使用doxygen 1.6.3和OpenFOAM源代码附带的Doxyfile生成OpenFOAM 1.7.1源代码文档。不幸的是,在编译过程中,有些事情显然出了问题: 应显示在主页上的所有、类、名称空间等链接不起作用。当我点击它们时,什么也不会发生 当我使用选项卡导航到一个类时,继承图和协作图都只显示该类本身,而不显示其他内容——即使在我知道这些图相当大的情况下也是如此 搜索不起作用。当我在搜索框中键入内容并按Enter键时,什么也没有发生 我查看了doxygen运行的输出,虽然它

我正在尝试使用doxygen 1.6.3和OpenFOAM源代码附带的Doxyfile生成OpenFOAM 1.7.1源代码文档。不幸的是,在编译过程中,有些事情显然出了问题:

  • 应显示在主页上的
    所有
    名称空间
    等链接不起作用。当我点击它们时,什么也不会发生
  • 当我使用选项卡导航到一个类时,继承图和协作图都只显示该类本身,而不显示其他内容——即使在我知道这些图相当大的情况下也是如此
  • 搜索不起作用。当我在搜索框中键入内容并按Enter键时,什么也没有发生
我查看了doxygen运行的输出,虽然它抛出了很多警告,但没有收到任何错误消息。它抱怨:

  • 类、运算符和函数没有匹配的文件成员,没有匹配的类成员,没有唯一匹配的类成员
  • 记录但未声明或未定义的函数
  • 不支持的xml/html标记
  • 许多块:
  • 标记不匹配

标签不匹配

块内时注释意外结束 这些可能破坏了搜索吗?我不能编辑所有的文件来消除警告,只是警告太多了

我修改了OpenFOAM附带的Doxyfile,将输出文件扩展名设置为
html
(之前是
php
),并添加了
SERVER\u-BASED\u SEARCH=NO
,但这并没有改变任何事情。我这样做是因为OpenFOAM开发人员使用的Doxyfile模板适用于doxygen 1.5.3(这是它在第一行中所说的),据我所知,附加搜索选项随1.6.2而来

这里可能出了什么问题?OpenFOAM开发人员似乎已经成功地在早期生成了文档,他们只是不再在线

如果有人有OF-1.7.1的在线编译文档的链接,我会很高兴地使用这些链接——我只找到了最新的版本


我在这里找到了一个使用-2.0.0的doxygen相关文件(配置、标题等)创建of-1.7.1文档的指南,使用doxygen 1.7.5.1:

我改用了doxygen 1.7.6.1(下载了错误的版本,只是尝试了一下),在doxygen文件中:
INPUT\u FILTER=doxyFilt

FILTER\u SOURCE\u FILES=YES

SHORT\u name=NO


现在,我的所有选项卡和Javascript搜索都正常工作,所有图表似乎都已完成。

我对OpenFOAM不太熟悉,但您可能想试试:

  • 使用Doxygen 1.5.3代替Doxygen 1.6.3。由于1.5.3在他们的文件中被引用,因此它可能与他们的源代码(和实用程序脚本)更兼容
  • 验证
    doxyFilt
    是否在您的路径中:
    $WM\u PROJECT\u DIR/bin
    。此脚本由doxygen调用,并将在doxygen使用源文件之前对其进行预处理
通过以上操作,我能够验证
命名空间
和相关选项卡是否正常工作


您可能还需要查看位于
$WM\u PROJECT\u DIR/doc/Doxygen/tools
的实用程序脚本,因为它们似乎与识别和修复生成的文档中的问题有关。

我下载了Doxygen 1.5.3并使用它来构建文档,但运气不佳<代码>doxyFilt位于路径中。正如您所说,选项卡是可以的-但是搜索仍然被破坏,继承和协作图仍然只显示它们创建的类。我刚刚发现基于Javascript的搜索是在doxygen 1.6.0中引入的,因此,当我使用doxygen 1.5.3生成文档时,我无法在本地运行搜索。过去,我在使用doxygen时遇到过问题,因为它的扫描程序/解析器不能胜任这项工作。因此,不同版本在同一源代码上的行为不同,有时甚至在没有问题时抱怨。因此,切换强氧版本可能是一条可行之路。