如何在 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 配置中使用相对路径名的主要内容,如果未能解决你的问题,请参考以下文章

如何在logback日志配置文件中配置相对路径

使用 Webpack 解析从 node_modules 到 Dist 文件夹的相对路径

如何在基于xml的spring配置中为hibernate.javax.cache.uri属性指定相对路径

如何在 htaccess 中使用带有 AuthUserFile 的相对路径?

使用相对路径时,./../../../,代表的什么?

ReferenceError: $ is not defined (绝对路径和相对路径)