gpt4 book ai didi

Doxygen:如何链接到 Doxygen 生成的 HTML 文件的用户定义 anchor ?

转载 作者:行者123 更新时间:2023-12-04 10:11:04 51 4
gpt4 key购买 nike

我正在使用 Doxygen 1.8.17 和 CMake 3.14+ 来记录旧的 Fortran 77 应用程序。

我无法使用 Doxygen 解决以下用例:

One subroutine, located in a file named myenum.f90, defines some values for Doxygen documentation and an @anchor command is set.


!> @brief get myenum
subroutine get(myenum)
!> @param[out] myenum
integer myenum

!> @anchor enum_myenum myenum's meaning
!! value | meaning
!! :-----:|:-------:
!! 1 |left
!! 2 |center
!! 3 |right

!> Compute myenum (code skipped)
myenum = 1
end subroutine

The other subroutine, located in a file named dosomething.f90, uses these values and references the anchor to avoid documentation duplication.


!> do something based on myenum
subroutine dosomething(myenum, mystuff)
integer myenum !< @param[in] myenum [based on myenum enumerate](@ref enum_myenum)
character*(*) mystuff !< @param[out] my stuff

if (myenum.eq.1) then
mystuff='left'
elseif (myenum.eq.2) then
mystuff='center'
elseif (myenum.eq.3) then
mystuff='right'
endif
end subroutine

在文件 dosomething<...>.html 中创建了一个超链接由 Doxygen 生成。链接的目标不是文件 myenum<...>.html由 Doxygen 生成,而不是 Fortran 文件 myenum.f90 .

有没有办法将链接的目标设置为 myenum<...>.html在 anchor 的位置?

最佳答案

Doxygen 有多种创建链接的方法,使用 @ref命令,使用 markdown 语法,一些自动链接等。也可以使用 \link ...\endlink构造。

从您的示例(和我的测试)看来,@ref在这种情况下,markdown 语法不起作用。
我尝试使用 \link..命令以及这个(据我所知)有效,我的,有点扩展,例如:

!> do something based on myenum                                                                                                     subroutine dosomething(myenum, mystuff, mythird)
integer myenum !< @param[in] [based on markdown syntax with @@ref](@ref enum_myenum)
character*(*) mystuff !< @param[out] @ref enum_myenum Based on @@ref command
double precision mythird !< @param[out] @link enum_myenum based on @@link command \endlink

if (myenum.eq.1) then
mystuff='left'
elseif (myenum.eq.2) then
mystuff='center'
elseif (myenum.eq.3) then
mystuff='right'
endif
end subroutine

同样使用当前的 doxygen 版本 1.8.18 和当前的 master (1.8.19 (cd581388f3d013c501e3cefbaf3e81cf93d46fcb)),问题仍然存在。

绝对值得在 doxygen 问题跟踪器中提交问题/错误报告: https://github.com/doxygen/doxygen/issues/new

关于Doxygen:如何链接到 Doxygen 生成的 HTML 文件的用户定义 anchor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61333640/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com