Проблема получения Doxygen для документирования перечисления в C - PullRequest
21 голосов
/ 11 ноября 2009

У меня довольно странная проблема с 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 */
};

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

Ответы [ 3 ]

35 голосов
/ 11 ноября 2009

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

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

/*! \file */ или

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

8 голосов
/ 08 марта 2015

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

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

/*! \defgroup Enumerations Public enumeration types */

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

4 голосов
/ 11 ноября 2009

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

...