我可以让 doxygen 将 @ref 解析为 C++ 标准库函数吗?

Can I make doxygen resolve @ref's to C++ standard library functions?

有时我想在我的 doxygen 评论中引用标准库构造。我可以用 HTML <a> 元素来做到这一点——但是要粘贴的文本太多了。我宁愿能够简单地写 {@ref std::string},并且让 doxygen 知道它需要 link 到 cppreference.org page for std::string.

我在想,如果有人为标准库生成一个 doxygen 标签文件,这也许是可能的(如果标签文件不支持任意 URL,即使这样也可能行不通)。那么,还有其他方法吗?

您应该有一个 Doxygen 标记文件和相应的离线或在线 html 文件。所以你可以在 Doxygen 配置文件中声明它,格式如下:

TAGFILES = "/location/of/tagFile=http://onlineUrl Or /location/of/OfflineHtml"

要下载这些文件,我找到了以下两个资源:

Cppreference

我推荐这种方式。因为它有完整的文档。

在线link

  1. 下载web tag file.
  2. 在配置文件中设置如下:

    TAGFILES += "location/of/cppreference-doxygen-web.tag.xml=http://en.cppreference.com/w/"
    

离线link

  1. 下载 html book 网站的离线副本。
  2. 在配置文件中设置如下:

    TAGFILES += "location/of/cppreference-doxygen-local.tag.xml=/location/of/html_book_*\reference\en"
    

More


GNU 项目

在线link

  1. 下载a tag file for the latest version.
  2. 在配置文件中设置如下:

    TAGFILES = "/location/of/libstdc++.tag = http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen"
    

离线link

  1. 下载GCC 7.1 Standard C++ Library Reference Manual in HTML. other versions found here.
  2. 在配置文件中设置如下:

    TAGFILES = "/location/of/libstdc++.tag = /location/of/libstdc++-api-html"
    

More