Использование Doxygen с файлом ручного тега для создания ссылок на внешние, онлайн, документы

Я написал библиотеку, которая использует другую стороннюю библиотеку. Эта сторонняя библиотека предоставляется онлайн на определенном веб-сайте. Я успешно использовал DoxyGen для документирования МОЕГО проекта, но мне очень трудно заставить его генерировать ссылки на стороннюю, онлайн, документацию.

Я понял, что могу создать "фиктивные" записи для этих классов в моих файлах, и у меня есть сгенерированные для них страницы, на этих страницах есть ссылка на онлайн-документацию. Недостатком этого является то, что я вынужден иметь страницу на МОИХ документах, которые являются ничем иным, как ссылкой. В идеале, нажатие на сторонний класс должно направить пользователя НАПРЯМУЮ к онлайн-документации, а не заставлять пользователей переходить через страницу "ничего не делать, кроме ссылки".

Я пытался использовать для этого внешние файлы тегов, но продолжаю получать ошибки при запуске doxygen, а помеченные классы остаются не связанными в выходных данных. Я не нашел ЛЮБЫХ примеров, которые используют вручную созданные файлы тегов для ссылки на онлайн-документацию, но, основываясь на формулировке инструкций 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?

1 ответ

Наконец-то разобрался: похоже, мне не хватало части содержимого файла тега (раздел пространства имен).
При использовании следующего содержимого файла тегов я не получил ошибку, и ссылки на типы Unity, указанные в файле тегов, правильно отображались в выходных данных.

Также обратите внимание, что поля имени файла НЕ включают расширение.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

Это был год, но если кто-то еще ударит, проблема возникает из первой строки:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>

следует читать как:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Doxygen просто не распознает true как действительное ключевое слово.

Другие вопросы по тегам