如何链接到doxygen html中的类方法

时间:2011-07-01 13:24:36

标签: doxygen

我有一个设置,我使用doxygen来描述单元测试的集合(我使用QtTest来运行测试)。测试的输出由一个小的Python片段解析,生成一个漂亮而整洁的报告。现在,我想在报告中链接到doxygen材料中的每个测试用例,即私有插槽成员方法。但是,doxygen定义的锚点如下所示:

<a class="anchor" id="a2a0e066d4dad8e0dff6c9231bf65fd65"></a>
<!-- doxytag: member="PRadioTunerTst::scanFM" ref="a2a0e066d4dad8e0dff6c9231bf65fd65" args="()" --> 

当然,我可以解析doxygen html并将所有方法与引用键匹配,但我宁愿拥有可读链接。我没有重载任何单元测试用例方法,所以枚举它们不会是一个问题 - 我只能选择第一个和唯一的。我甚至很乐意自己计算id哈希。我只需要知道如何。

所以,基本上,问题是:

  • 有谁知道如何调整doxygen 生成可读锚点
  • 如果没有,我该如何计算哈希?

2 个答案:

答案 0 :(得分:4)

而不是尝试重建哈希(这是由doxygen解析的方法定义的md5校验和,请参阅代码中的MemberDef :: setAnchor())。我建议让doxygen生成一个标记文件(GENERATE_TAGFILE),然后解析它。标记文件是一个简单的XML文件,它包含每个成员的名称和锚点。

答案 1 :(得分:0)

我还需要链接目标,在我的情况下,第一个文档指向呼吸/ doxygen创建的html。这是我做的:

为了更好地理解doxygen如何创建锚点,我在setAnchor()的末尾重新编译了doxygen:

printf("memAnchor=%s sigStr=%s\n", memAnchor.data(), sigStr.data());

,创建输出,如:

memAnchor=const int SomeNamespace::GetStateGetState(SomeNamespace::State *state) sigStr=f2c41a8a6a152602c92fefb80bd0862a

我已经有了我的函数签名,所以我创建了类似于上面的memAnchor的字符串,并通过md5sum传输它以获取哈希值,然后将其附加到所有锚点共有的字符串。在我的第一个文档中,然后我将定义如下:

.. _GetState: `project0class_SomeNamespace_1f2c41a8a6a152602c92fefb80bd0862a`_

关于可读锚点的第一个问题不确定。