23

我对 Doxygen(Mac OS X Snow Leopard 上的 1.6.1)有一个相当奇怪的问题,因为无论我做什么,它似乎都没有记录我的枚举。我正在用 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 手册产生正确记录的输出,但它什么也没产生。我很可能错过了一些简单的东西,如果有人能指出我正确的方向,我将不胜感激。

4

3 回答 3

36

Doxygen 手册

让我们重复一遍,因为它经常被忽略:要记录全局对象(函数、typedef、枚举、宏等),您必须记录定义它们的文件。换句话说,至少必须有一个

/*! \file */或一个

/** @file */此文件中的行。

于 2009-11-11T20:52:11.397 回答
10

我的经验与使用EXTRACT_ALL=NOdoxygen SHOW_INCLUDE_FILES=NO1.8.9.1 相同 - 全局枚举类型没有列出或链接,即使/*! \file */存在,并且全局enum由记录的复合结构引用。

为了解决这个问题,我最终定义了一个枚举组:

/*! \defgroup Enumerations Public enumeration types */

对于枚举类型,我曾经\ingroup Enumerations将枚举包含在新组中。然后,Doxygen 能够从复合结构自动链接到枚举类型。

于 2015-03-08T18:12:43.033 回答
4

如果内存服务正确,则不会显示枚举文档,除非还记录了该文件。尝试添加 @file 部分。

于 2009-11-11T20:48:32.667 回答