C++ Doxygen全局定义的参考链接

C++ Doxygen全局定义的参考链接,c++,documentation,doxygen,C++,Documentation,Doxygen,在Doxygen中使用引用链接:分别定义它们,然后从文本中引用它们 /** * This is a documentation. Here I link [std::string] to an external web page. * * The next line is the link definition: * * [std::string]: http://en.cppreference.com/w/cpp/string/basic_string "std::string do

在Doxygen中使用引用链接:分别定义它们,然后从文本中引用它们

/**
 * This is a documentation. Here I link [std::string] to an external web page.
 *
 * The next line is the link definition:
 *
 * [std::string]: http://en.cppreference.com/w/cpp/string/basic_string "std::string documentation"
*/
然而,链接定义似乎仅在文档块中可见。即使在同一页的其他文档块上也看不到它

我想定义一些链接一次,然后在任何地方使用它们(在不同的页面上)

可能吗


编辑(后续问题)

为了实现您的目标,我认为您的最佳选择是使用ALIAS设施

我已成功使用alias将其设置为:

ALIASES += std_string="<a href=\"http://en.cppreference.com/w/cpp/string/basic_string\" title=\"std::string documentation\" target=\"_blank\">std::string</a> "
ALIASES += std_vector="<a href=\"http://en.cppreference.com/w/cpp/container/vector\" title=\"std::vector documentation\" target=\"_blank\">std::vector</a> "
基本上,每个链接都有一个别名

是否可以用一个带参数的别名实现?其用途是:

@std_ref std::string
@std_ref std::vector
问题是名称(参数)和链接之间需要某种映射:

std::string -> http://en.cppreference.com/w/cpp/string/basic_string 
std::vector -> http://en.cppreference.com/w/cpp/container/vector
我知道如果一个参数是链接的不同部分,则可以这样做,如:

@std_ref std::string string/basic_string 
@std_ref std::vector container/vector

但这很难看,容易出错,每次都需要检查链接应该是什么。

值得注意的是,您当前使用的是Doxygen仅支持标记的符号--它不是用于外部链接的Doxygen方法。最初的Doxygen方法是插入一个HTML链接内联

。。。但这对你原来的问题没有影响

为了实现您的目标,我认为您的最佳选择是使用ALIAS设施。相关手册页面如下所示。使用它们,您应该能够定义一个别名,如
std string
,并让它在您使用别名的任何地方插入HTML链接

别名设置在doXfile配置文件(手册中)

中,您可以手动为每个C++关键字设置别名,您想链接到别名,但最好的方法是使用doxGeTyfile文件特性。 标记文件基本上是外部源中实体的紧凑表示。Doxygen可以生成和读取标记文件

要为项目生成标记文件,只需将标记文件的名称放在配置文件中的generate_TAGFILE选项之后

要将一个或多个外部项目的输出与您自己的项目相结合,您应该在配置文件中的TAGFILES选项之后指定标记文件的名称

Doxygen有一整页专门解释

cppreference.com已经为您设置了一个标记文件,其中包含一些

对于不耐烦的人:

  • 下载以直接链接到cppreference.com网站

  • 将此行添加到Doxyfile:

    TAGFILES+=“location/of/cppreference doxygen web.tag.xml=”


  • 非常感谢。成功了。我有一个问题,关于只使用一个带参数的别名,而不是每个链接使用一个别名。如果您能检查我的问题编辑,我将不胜感激。我从未需要使用别名和参数的混合,因此您超出了我的经验范围。对不起,我们已经到了你的猜测和我的一样好的阶段:)没关系,你的回答解决了我的问题,我只是想更进一步。
    @std_ref std::string string/basic_string 
    @std_ref std::vector container/vector