Подтвердить что ты не робот

Проблема с получением Doxygen для документирования перечисления в C

У меня довольно странная проблема с Doxygen (1.6.1 на Mac OS X Snow Leopard), в которой он, похоже, не документирует мои перечисления независимо от того, что я делаю. Я программирую на языке C и следую инструкциям в руководстве. Вот мой код:

/**
 * \enum dccp_pkt_type 
 * \brief specifies the available DCCP packet types
 */

enum dccp_pkt_type
{
    DCCP_REQUEST    = 0,    /**< DCCP Request Packet */
    DCCP_RESPONSE,          /**< DCCP Response Packet */
    DCCP_DATA,              /**< DCCP Data Packet */
    DCCP_ACK,               /**< DCCP Ack Packet */
    DCCP_DATAACK,           /**< DCCP Data Ack Packet */
    DCCP_CLOSEREQ,          /**< DCCP Close Request Packet */
    DCCP_CLOSE,             /**< DCCP Close Packet */
    DCCP_RESET,             /**< DCCP Reset Packet */
    DCCP_SYNC,              /**< DCCP Sync Packet */
    DCCP_SYNCACK,           /**< DCCP Sync Ack Packet */
    DCCP_RESERVED,          /**< DCCP Reserved Packet Type - Receivers MUST
                         ignore any packets with this type */
};

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

4b9b3361

Ответ 1

Из руководства по Doxygen:

Повторим, что, поскольку об этом часто забывают: для документирования глобальных объектов (функций, typedefs, enum, макросов и т.д.) Необходимо документировать файл, в котором они определены. Другими словами, должен быть хотя бы

/*! \file */ /*! \file */ или

/** @file */ строка в этом файле.

Ответ 2

Мой опыт тот же, что и при использовании EXTRACT_ALL=NO и SHOW_INCLUDE_FILES=NO с doxygen 1.8.9.1 - глобальные типы перечислений не были перечислены и не связаны даже несмотря на то, что /*! \file */ присутствует, а глобальный enum ссылается на документацию составной структуры.

Чтобы обойти это, я определил группу Enumerations:

/*! \defgroup Enumerations Public enumeration types */

а для типов перечисления я использовал \ingroup Enumerations для включения перечислений в новую группу. Затем Doxygen смог автоклавировать от составных структур до типов перечислений.

Ответ 3

Если память обслуживается правильно, документация перечисления не отображается, если файл не задокументирован. Попробуйте добавить раздел @file.