无法使用 Doxygen 记录头文件

Unable to Document Header File with Doxygen

我正在尝试为仅包含一些常量的头文件生成文档,但我无法生成它。

按照 doxygen manual 中的建议,我已经尝试将 @file 关键字添加到评论块中,但仍然没有成功。

我错过了什么?

这是一个片段:

MyFile.h

 /**
 @file 
 my super important documentation.

 @author Julian Builes
*/
typedef NS_ENUM(NSUInteger, HTTPCode) 
{my code ...}

背景:这是一个 iOS 项目,使用 xcode 6 和 doxygen 1.8.9.1

编辑:根据 Albert 的建议,我附上了一个 sample project 来说明我遇到的问题。

我认为您的 Doxyfile 配置文件有误。只需将 "INPUT =" 行留空,doxygen 就会在当前目录中搜索与您指定的模式匹配的源文件。当您更改它时,您应该在 doxygen 输出中看到

...
Parsing files
Preprocessing C:/temp/doxy test/TEDHTTPStatusCodes.h...
Parsing file C:/temp/doxy test/TEDHTTPStatusCodes.h...

您应该会在 doxygen 生成的主页上看到 "Files" 选项卡。

"Files are considered private by default. This means files that do not have the @file declaration (or \file) are ignored and not included in your Doxygen output, except for members of C++ classes."
参考:https://linux.m2osw.com/doxygen-does-not-generate-documentation-my-c-functions-or-any-global-function

将以下内容放在页眉顶部:

/**
 \file
*/

如果这有任何帮助(使用 v1.9.1),似乎 @file (\file) 声明必须紧靠左边距。我花了几个小时想知道为什么一个特定的 .h 文件不起作用。

这样就可以了:

/**
@file
    @brief My superb interface
    @par Note re foo bar
Functions that output to the szFoo buffer use the throgglethorp algorithm.
*/

但这不是,@file缩进了

/**
    @file
    @brief Not so good
    @par Note re foo bar    
Functions that output to the szFoo buffer use the throgglethorp algorithm.
*/    

# Difference with default Doxyfile 1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
PROJECT_NAME           = MyProject
PROJECT_NUMBER         = 9.3.0
OUTPUT_DIRECTORY       = doxy
ABBREVIATE_BRIEF       =
FULL_PATH_NAMES        = NO
JAVADOC_AUTOBRIEF      = YES
QT_AUTOBRIEF           = YES
OPTIMIZE_OUTPUT_FOR_C  = YES
SHOW_INCLUDE_FILES     = NO
SORT_BRIEF_DOCS        = YES
SHOW_USED_FILES        = NO
SHOW_NAMESPACES        = NO
LAYOUT_FILE            = doxygen-layout.xml
INPUT                  = src/myIncludeFile.h
INPUT_ENCODING         = ISO-8859-1
FILE_PATTERNS          =
EXAMPLE_PATTERNS       =
VERBATIM_HEADERS       = NO
ALPHABETICAL_INDEX     = NO
HTML_FOOTER            = doxygen-footer.html
HTML_TIMESTAMP         = YES
MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
GENERATE_LATEX         = NO
LATEX_CMD_NAME         = latex
SEARCH_INCLUDES        = NO
DOT_FONTNAME           =

对于第二个实例(缩进@file),结果是一个 html 文件,没有任何记录。在第一个实例中,我得到了我想要的结果,即带有副标题“myIncludeFile.h 文件参考”的 html/my_include_file_8h.html。