doxygen生成html文件,Doxygen:如何链接到Doxygen生成的HTML文件的用户定义的定位符?...

博主在使用Doxygen1.8.17和CMake3.14+为旧版Fortran77应用程序生成文档时遇到问题。在myenum.f90文件中定义的子例程设置了锚点,但在dosomething.f90文件中引用这些锚点的链接目标指向源代码文件而非Doxygen生成的文档。尝试了多种@ref和markdown语法,但链接仍然无效,始终指向源代码。问题在最新Doxygen版本中依然存在。
摘要由CSDN通过智能技术生成

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

我无法使用Doxygen解决以下用例:位于名为myenum.f90的文件中的一个子例程,为Doxygen文档定义了一些值,并设置了@anchor命令。!> @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位于名为dosomething.f90的文件中的另一个子例程,使用这些值并引用锚点以避免文档重复。!> 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

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

是否有一种方法可以将锚点位置的链接目标设置为myenum<...>.html?

答案

[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和当前的主版本(1.8.19(cd581388f3d013c501e3cefbaf3e81cf93d46fcb),该问题仍然存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值