2015-07-01 3 views
4

Итак, у меня есть коллекция проектов, которые документированы с помощью doxygen (и это должно быть doxygen). Я запускаю doxygen отдельно для каждого проекта и использую «ссылку на внешнюю документацию» http://www.stack.nl/~dimitri/doxygen/manual/external.html, чтобы подключить документацию. Например, я импортирую файл тега для проекта библиотеки в другой проект, где он используется. Таким образом, ссылки на классы библиотеки автоматически генерируются, когда они используются в другой документации по проекту.Doxygen дубликаты якорей при использовании файлов тегов

Теперь о проблеме, скажем, у меня есть библиотека libA, которая используется в другой библиотеке libB. libA и libB имеют главную страницу. В документации libB я импортирую файл tag для libA. Пока что так хорошо, но теперь у меня есть третий проект, который позволяет называть это приложение, которое использует как libA, так и libB. Я импортирую оба файла tagfiles и ссылки для обоих, но он также жалуется, что привязки главной страницы libA дублируются. Я понимаю, что они, поскольку они импортируются как через libB, так и в libA напрямую, однако, если я не импортирую файл tag в libA в приложение, ссылки на классы libA не создаются.

Теперь получившаяся документация кажется прекрасной, если я просто импортирую оба тега и игнорирую предупреждения, но предупреждения будут загромождать файл журнала, чтобы я мог пропустить какое-то другое предупреждение, например, что я забыл документировать метод или что-то в этом роде.

Итак, любые идеи, как это решить? Это ошибка в doxygen? Могу ли я подавить это конкретное предупреждение? Есть ли лучший способ документировать коллекцию проектов, подобных этому с помощью doxygen?

ответ

1

Я не эксперт, но я думаю, что вы можете обойти эту проблему, запустив doxygen дважды для libB. В первый раз установите GENERATE_TAGFILE, но не TAGFILES, так что сгенерированный файл тега просто для libB. Затем измените Doxyfile, чтобы связать файл тега libA как обычно с TAGFILES, но отключив GENERATE_TAGFILE, чтобы вы не перезаписывали чистую версию файла тега libB.

Если он ведет себя так, как должно, вы получите файл тегов только для libB без ссылок на libA, который вы можете использовать при запуске doxygen на приложении, но фактическая html-документация для libB будет правильно ссылаться на документацию для libA ,

+0

Еще не проверены, но я уверен, что это сработает. Не идеально, но лучше, чем ничего :) – RHawkeyed

Смежные вопросы