使用Doxygen在另一个文件中插入功能链接?

时间:2015-01-16 15:28:02

标签: c doxygen

我有两个C源文件。对文件bar()中的函数A的评论需要引用文件foo()中的函数B。我该如何建立此链接?

我试过了:

  1. 写下类似:B.c::foo()希望doxygen转到文件B并在那里找到函数foo

  2. 也尝试了::foo(),但没有帮助。

  3. 然后我尝试给文件B.c一个特殊的标记名,就像在//! @file specialtag的第一行做B.c然后在我的评论中做specialtag::foo()一样但不多已经改变了。

  4. 我尝试强制使用\ref\link的链接,但即使这样也无济于事。

  5. //! @fileA.c中都存在B.c行,因此doxygen应该知道代码。

    修改

    我尝试了@doxygen的建议,但没有运气。我做了一个示例项目来显示我遇到问题的地方,它在这里:http://www.filedropper.com/testdoxygen2tar

    我使用了doxygen -g制作的默认设置文件。 我得到的输出: Firefox showing the page generated by doxygen

    您可以看到foobar功能未链接到。

    编辑2

    发现问题。函数foo没有记录,因此没有生成任何页面,所以当然doxygen没有要链接的页面。 (我正在生成启用了SOURCE_BROWSER选项的文档,并希望生成函数定义的链接)

1 个答案:

答案 0 :(得分:5)

这非常简单。这是一个使用默认配置文件(doxygen -g)的最小示例:

首先使用以下内容创建文件foo.c:

/** @file */

/** Function foo, see also bar(). */
void foo()
{
}

然后使用以下内容创建文件bar.c:

/** @file */

/** Function bar, see also foo(). */
void bar()
{
}

运行doxygen并在HTML输出中观察两个函数都将链接到另一个函数。