我写了一个使用另一个第三方库的库。该第三方图书馆在特定网站上在线提供。我已成功使用DoxyGen来记录我的项目,但是我很难通过它来生成第三方链接,在线文档。
我发现我可以为我的文件中的那些类创建“虚拟”条目,并为它们生成页面,这些页面有一个指向在线文档的链接。这样做的缺点是,我被迫在MY文档上有一个页面,它只是一个链接。理想情况下,点击第三方课程应该直接将用户带到在线文档,而不是让用户通过“无所事事但链接”页面。
我试图为此使用外部标记文件,但在doxygen运行时不断出现错误,并且标记的类在输出中仍然不是-link。我没有找到任何使用手动创建的标记文件来引用在线文档的示例,但根据doxygen指令的措辞,它似乎应该是可行的。 我当前的标签文件目前看起来像这样(虽然我尝试了很多变化): ExternalTags.xml
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<tagfile>
<compound kind="class">
<name>Vector3</name>
<filename>Vector3.html</filename>
</compound>
</tagfile>
我的配置文件包含以下行(也尝试了很多变化):
TAGFILES = "externalTags.xml = http://docs.unity3d.com/ScriptReference/"
当从配置中删除标记文件时,doxygen运行时没有任何错误。如果包含标记文件选项,doxygen始终会生成以下错误:
lookup cache used 941/65536 hits=6682 misses=1048
finished...
error: Fatal error at line 1 column 1: error while parsing element
error: Fatal error at line 1 column 1: error while parsing prolog
如何解决这些错误,并在doxygen输出中正确生成链接?
答案 0 :(得分:2)
最后弄清楚了:它似乎是我缺少标记文件内容的一部分(命名空间部分)。
使用以下标记文件内容时,我没有出现任何错误,并且标记文件中指定的Unity Types链接正确显示在输出中。
此外,请注意,文件名字段不包含.html扩展名。
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<tagfile>
<compound kind="namespace">
<name>UnityEngine</name>
<filename></filename>
<class kind="class">UnityEngine::PlayerPrefs</class>
<class kind="class">UnityEngine::Vector3</class>
</compound>
<compound kind="class">
<name>UnityEngine::PlayerPrefs</name>
<filename>PlayerPrefs</filename>
</compound>
<compound kind="class">
<name>UnityEngine::Vector3</name>
<filename>Vector3</filename>
</compound>
</tagfile>
可能与该问题无关,但尚未测试将其改回,因此我将标记文件重命名为:unity3d-doxygen-web.tag.xml
答案 1 :(得分:1)
已经过了一年,但是如果其他人遇到这个问题,问题就来自第一行:
<?xml version="1.0" encoding="UTF-8" standalone="true"?>
应为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Doxygen无法将true
识别为有效关键字。