如何在 Doxygen 配置中使用相对路径名
Posted
技术标签:
【中文标题】如何在 Doxygen 配置中使用相对路径名【英文标题】:How can i use relative path names in Doxygen configuration 【发布时间】:2016-01-21 10:48:54 【问题描述】:我的 doxygen 在我的 /utils 目录中,而我的源代码位于根目录中的另一个目录中(/code_with_doxygen
),我如何为其创建一个相对路径名,因为它位于不同位置的存储库中在其他电脑上。我无法记录整个根目录,因为我不希望目录 /code_without_doxygen
也构建。
项目树如下所示:
root
utils
code
code_with_doxygen
code_without_doxygen
documentation
现在我有设置,但这似乎不起作用:
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ../
我似乎无法弄清楚:Relative files paths in doxygen-generated documentation
【问题讨论】:
我在 .bat 文件中修复了它。我导航到根映射,然后从那里运行 doxygen,同时使用 %cd% 命令向 doxygen_config 添加一些配置。然后它看起来像这样:“(输入 utils\config_doxygen.txt & echo INPUT=%cd%\code\code_with_doxygen\)| doxygen.exe -” 【参考方案1】:相对路径取决于您从哪个目录执行 doxygen。例如,如果您有以下项目树:
+ project_root
+ documentation
+ config
- doxyfile
+ pictures
+ output
- run_doxygen.bat
+ code
+ code_with_doxygen
+ code_without_doxygen
在这种情况下,所有相对路径都以文件夹“documentation”为根,因为您正在从该文件夹运行脚本“run_doxygen.bat”。因此,您可以将“doxyfile”中的 INPUT
标签设置为
INPUT = ./../code
和 doxyfile 中的 OUTPUT_DIRECTORY
标签到
OUTPUT_DIRECTORY = ./output
令人误解的是,即使 doxyfile 位于子文件夹“config”中,路径也不是相对于 doxyfile 的位置,因为路径是相对于调用 doxygen 的位置。在这种情况下,它是文件夹“文档”,因为这是调用 doxygen 的脚本的位置。
【讨论】:
【参考方案2】:Doxygen 允许将文件包含到 doxyfile 中。您可以在实际调用 doxygen 之前使用脚本生成文件。该文件的内容必须如下所示:
INPUT += path1
INPUT += path2
...
你似乎在运行 Linux,我不知道正确的 bash 命令。
该文件必须集成到您的 doxyfile 中:
INPUT = (project path)
@INCLUDE = generated filename
这将导致 doxygen 使用您生成的文件的内容。
【讨论】:
【参考方案3】:@gmug 是对的。不要忘记在代码中添加注释块specified by doxygen 对于python,我需要在文件开头添加:"""@package docstring"""
。
【讨论】:
【参考方案4】:通过将INPUT
设置为一个字符串或一组字符串,我已经能够在我的doxygen.cfg
文件中使用相对路径。例如:
INPUT = "." "src"
将告诉doxygen
查看当前目录及其子目录$HERE/src
。
【讨论】:
以上是关于如何在 Doxygen 配置中使用相对路径名的主要内容,如果未能解决你的问题,请参考以下文章
使用 Webpack 解析从 node_modules 到 Dist 文件夹的相对路径
如何在基于xml的spring配置中为hibernate.javax.cache.uri属性指定相对路径