Doxygen构建引用如链接只能在某处定义,对它的任何引用都会得到相应的重定向吗?
这将允许指向正确资源的\see
命令,而无需在代码中的任何位置复制URL,同时在需要时可以轻松更改所述链接。
生成的文档看起来有点像这样:
mainpage.md
此处定义了有用的链接
source.c文件参考
(...)
另见
A guide to something //指向mainfile.md中定义的URL
[修改]
感谢@albert在评论中,我已经设法使用\snippetdoc
,但是在block-id之后的任何文本都会使doxygen无法呈现片段。
工作示例:
知道我的链接是在docs / mainpage.dox文件中定义的,如下所示:
[url_to_link1]
<a href="linkToSomething">Link description</a>
[url_to_link1]
[url_to_link2]
<a href="linkToSomething">Link description</a>
[url_to_link2]
这有效:
/**
* \file
* \section links "Useful Links"
* - \snippetdoc docs/mainpage.dox url_to_link1
* - \snippetdoc docs/mainpage.dox url_to_link2
*/
这不是:
/**
* \file
* \brief Some function definition
* \see API reference on specific subject (more info: \snippetdoc docs/mainpage.dox url_to_link1)
*/
Doxygen版本是1.8.14
答案 0 :(得分:0)
如问题和评论中所示,此问题的解决方案在于\snippetdoc
命令,另一种方法是为ALIAS
定义(在Doxyfile
doxygen配置文件中)引用并在所需位置使用已定义的命令/别名。
如OP所示,通过\snippetdoc
可能的解决方案是:
/**
* \file
* \section links "Useful Links"
* - \snippetdoc docs/mainpage.dox url_to_link1
* - \snippetdoc docs/mainpage.dox url_to_link2
*/
以下版本无效,如OP所示:
/**
* \file
* \brief Some function definition
* \see API reference on specific subject (more info: \snippetdoc docs/mainpage.dox url_to_link1)
*/
问题是\snippetdoc
的定义是\snippetdoc <file-name> ( block_id )
,其中(block_id)
表示它读到行的末尾(参见doxygen文档),因此结束{{1} }}是)
的一部分,无法解析。
可能更好的实施可能是block_id
,因此<block_id>
只是一个单词。对此的问题在于它可能会破坏现有文档,例如block_id
中使用了空格或点。
这个问题有很多解决方案:
1)将结束block_id
定义为)
的一部分(在非工作版本中):
block_id
2)将结束[url_to_link1)]
<a href="linkToSomething">Link description</a>)
[url_to_link1)]
放在下一行(定义可以保留在问题中):
)
3)定义2个定义:
/**
* \file
* \brief Some function definition
* \see API reference on specific subject (more info: \snippetdoc docs/mainpage.dox url_to_link1
* )
*/
I通用溶液2)是作为溶液的优选溶液。 [url_to_link1)]
<a href="linkToSomething">Link description</a>)
[url_to_link1)]
[url_to_link1]
<a href="linkToSomething">Link description</a>
[url_to_link1]
之后的所有文字都必须在下一行。