Documentation 无法使用Doxygen记录头文件

Documentation 无法使用Doxygen记录头文件,documentation,doxygen,documentation-generation,Documentation,Doxygen,Documentation Generation,我正在尝试为只包含一些常量的头文件生成文档,但无法生成它 正如在中所建议的,我尝试将@file关键字添加到注释块中,但仍然没有成功 我错过了什么 下面是一个片段: MyFile.h /** @file my super important documentation. @author Julian Builes */ typedef NS_ENUM(NSUInteger, HTTPCode) {my code ...} 背景:这是一个使用xcode 6和doxygen 1.8.

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

正如在中所建议的,我尝试将
@file
关键字添加到注释块中,但仍然没有成功

我错过了什么

下面是一个片段:

MyFile.h

 /**
 @file 
 my super important documentation.

 @author Julian Builes
*/
typedef NS_ENUM(NSUInteger, HTTPCode) 
{my code ...}
背景:这是一个使用xcode 6和doxygen 1.8.9.1的iOS项目


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

我相信您的Doxyfile配置文件中有错误。只需将“INPUT=”行留空,doxygen就会在当前目录中搜索与指定模式匹配的源文件。当您更改该值时,您应该可以在doxygen输出中看到

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

你应该看到你的doxGEN主页上填充的“文件”标签。默认情况下,文件被认为是私有的。这意味着除了“C++类”成员之外,没有“<代码> @文件>代码> >(或<代码>文件>代码>)的文件将被忽略,不包含在你的doxGEN输出中。 参考:

将以下内容放在标题顶部:

/**
 \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
    @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文件。对于第一个实例,我得到了我想要的结果,那就是html/my_include_file_8h.html,副标题为“myIncludeFile.h file Reference”。

谢谢Phil!对不起,那是我的错别字。我有额外的星号。已经更新了问题。非常感谢!似乎就是这样。我没有为输入字段输入值。所以我猜这是在设置了一些其他值后自动填充的。为什么这样做?Doxygen可能找不到任何输入文件,因此只生成一个空文档。在控制台输出中,您可能看不到正在处理的任何文件。很难猜测输入=/Users/jlnbuiles/Desktop/test doxy来自何处,可能是因为之前的测试和您重新加载了doxy文件。将输入保留为空意味着doxygen将搜索当前目录。如果要搜索其他目录,必须在此处放置路径。我尝试总是使用相对目录,这样配置文件就可以在任何地方使用。至于不正确的绝对路径是从哪里来的,我猜它是在运行doxywizard时出现的。我发现最好是通读配置文件,以确保它正在执行您想要的操作。这是有据可查的。祝你好运提供的(编辑过的)代码在默认的Doxyfile中确实适用。从菲尔的回答来看,问题是否得到解决还不清楚。如果没有,请说明什么地方仍然出错,doxygen是否给出错误?@albert-我仍然遇到问题。我不会让doxygen为不包含目标c
@class
指令的头文件生成任何文档。我还可以尝试什么?请创建一个小示例,显示问题,包括Doxyfile,并将其作为附件(最好还有结果输出和控制台输出)发布在此处或doxygen用户邮件列表中(请参阅手册中的“疑难解答”一章了解列表)。我在下面重新编写了答案。(我不确定我是否应该这样做,或者只是提供一个新的答案。)OP的文件中有
@file
,那么这怎么可能是答案呢?你得到了什么输出?出了什么问题?问题的可能原因可能是您的注释块以4个空格开头,这可能被视为逐字记录块的开头。使用默认Doxyfile时,两个实例的输出相同!因此,您的设置中可能存在一些问题,请澄清我们(使用
doxygen-x Doxyfile
显示Doxyfile与默认版本之间的差异)。我们不知道
doxygen footer.html
doxygen layout.xml
中有什么内容,但我认为它们的内容并不重要,所以在我的测试中,我把它们删掉了。运行测试用例在这两种情况下给出相同、正确的结果。您的文件中是否有选项卡或行末尾的空白处?我有5到6个项目执行完全相同的操作(仅为标记的.h文件生成文档),并且多年来一直这样做,没有出现任何问题。我们刚刚使用另一个项目进行了测试,该项目与doxygen 1.8及更早版本完美配合。现在我已经更新到v1.9,它给了我完全相同的问题,并且相同的修复工作。仍然很奇怪,也许你应该在doxygen github bug跟踪器中创建一个问题。有一点怀疑是,有一些警告被忽略了,或者源文件中有一些隐藏字符没有显示在堆栈上。(github问题的标准文本:-您能否附上一个小的、自包含的示例(tar或zip中的源代码+配置文件)让我们重现问题?请不要添加外部链接,因为它们可能不会持久。-还请指定使用的完整doxygen版本(
doxygen-v
)。