无法使用 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。
我正在尝试为仅包含一些常量的头文件生成文档,但我无法生成它。
按照 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。