问题是让Doxygen记录C中的枚举

时间:2009-11-11 20:45:08

标签: documentation enums doxygen

我对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手册产生适当的文件输出,但它不产生任何东西。我很可能会错过一些简单的事情,如果有人能指出我正确的方向,我将不胜感激。

3 个答案:

答案 0 :(得分:35)

来自Doxygen manual

  

让我们再说一遍,因为它经常发生   被忽视:记录全球对象   (函数,typedef,枚举,宏,   等),你必须在文件中记录   他们是谁定义的。其他   言语,必须至少有一个

     

/*! \file */

     此文件中

/** @file */行。

答案 1 :(得分:8)

我使用EXTRACT_ALL=NOSHOW_INCLUDE_FILES=NO与doxygen 1.8.9.1相同的经验 - 即使存在/*! \file */且全局enum,全局枚举类型也未列出或链接}由记录的复合结构引用。

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

/*! \defgroup Enumerations Public enumeration types */

对于枚举类型,我使用\ingroup Enumerations将枚举包含在新组中。然后,Doxygen能够从化合物结构自动连接到烯醇类型。

答案 2 :(得分:4)

如果内存正常,除非文档也有记录,否则枚举文档不会显示。尝试添加@file部分。