Как создать псевдоним для автоматических ссылок Doxygen на другой символ

#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 конфигурации Doxygen

4. К сожалению, я не могу изменить фактический API, это не моя работа. 🙂 Решение, о котором я думаю, таково: поскольку меня в любом случае не интересует документация Flower , просто генерация Doxygen после обработки, чтобы заменить все ссылки из Flower документа to FlowerData .