Проблема с получением 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 производить правильно документированный вывод, но вместо этого ничего не производит. Скорее всего, я пропустил что-то простое, если бы кто-нибудь мог указать мне в правильном направлении, я был бы благодарен.
Ответы
Ответ 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.