【问题标题】:doxygen not producing output from input filter (doxyqml)doxygen 不从输入过滤器(doxyqml)产生输出
【发布时间】:2023-11-16 04:14:01
【问题描述】:

我正在尝试使用doxyqml 通过 doxygen 生成 QML 文档,但没有创建文档页面。

根据 doxyqml 文档,我已将 *.qml 条目添加到 FILE_PATTERNS,并将 *.qml=doxyqml 添加到 FILTER_PATTERNS(doxyqml 可从 /usr/bin 获得,因此只需在命令行上调用 doxyqml 即可足以启动它)。

从 doxygen 输出中,我可以看到 *.qml 文件模式正在工作,因为文件出现在输出的“读取”阶段 - 但 不是 解析阶段。如果我在文件中添加#define 或其他一些非 QML 语句,则 doxygen 输出中会出现 doxyqml 错误,因此我知道 doxyqml 被正确调用。

我也知道 doxyqml 输出是正确的,因为如果我直接使用 qml 文件之一复制调用 doxyqml 的输出,并将其粘贴到 *.h 文件中,doxygen 会为其构建文档。

就好像 doxygen 只是不读取 doxyqml 的输出。有没有其他人有这种经验?我正在使用 doxygen 1.8.8 和最新的 doxyqml 代码库(2014 年 7 月 7 日)。

【问题讨论】:

    标签: qml doxygen doxywizard


    【解决方案1】:

    这似乎是因为 Doxygen 使用文件扩展名来确定使用什么解析器来分析文本,并且因为 *.qml 是新的,所以它猜错了(虽然我不知道它在尝试哪个使用)。

    解决方案是告诉 Doxygen 使用哪个解析器来处理 QML 文件,所以我只需要将 qml=c++ 添加到 EXTENSION_MAPPING,然后一切都按预期工作。

    【讨论】: