我正在尝试使用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日)。

最佳答案

似乎是因为Doxygen使用文件扩展名来确定要使用哪个解析器来分析文本,并且由于*.qml是它的新功能,所以猜测是错误的(尽管我不知道它尝试使用的是哪个) 。

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

09-06 20:49