#c #c #documentation #doxygen
#c #c #Документация #doxygen
Вопрос:
Я использую Doxygen 1.8.14 для своего C API.
В моем API есть некоторое соглашение, в котором на объект, скажем Flower
, объект, ссылается вызываемый непрозрачный указатель Flower
и вызываемая общедоступная структура FlowerData
.
При создании Doxygen он автоматически генерирует гиперссылки для обоих Flower
и FlowerData
.
/// brief Describes a pretty flower
typedef struct {
Color color; ///< Red? Blue? Unicorn?;
} FlowerData;
/// brief Handle to a `Flower`
typedef void* Flower;
В этом примере текущая документация создаст две страницы. Flower.html
с документацией к Flower
и FlowerData.html
с документацией для FlowerData
. Я хочу, чтобы в обеих документах была одна и та же веб-страница, и любая ссылка, созданная из вхождений того или иного символа в документации, предназначалась для нее.
Легко ли это достижимо с помощью Doxygen?
Спасибо.
Комментарии:
1. Вероятно, это нелегко достижимо, но без надлежащего примера и используемой версии doxygen еще сложнее сказать.
2. О самом коде особо нечего сказать. Помимо Doxygen, это просто struct и void * . Я использую 1.8.14 и отредактировал queston. 🙂
3. Я не могу воспроизвести это. С Doxygen 1.8.17 я получаю
doxtest_8c.html
иstruct_flower_data.html
. СсылкиFlower
просто остаются наdoxtest_8c.html
странице, а ссылкиFlowerData
переходят в другой файл. Но это работает лучше, если вы заменитеtypedef void* Flower;
наtypedef FlowerData *Flower;
. Затем вы можете перейти к подробной странице. Я использовал параметрOPTIMIZE_OUTPUT_FOR_C = YES
конфигурации Doxygen4. К сожалению, я не могу изменить фактический API, это не моя работа. 🙂 Решение, о котором я думаю, таково: поскольку меня в любом случае не интересует документация
Flower
, просто генерация Doxygen после обработки, чтобы заменить все ссылки изFlower
документа toFlowerData
.