Doxygen 产生文件可以分为三个步骤。一是为Project 建立
组态档,二是在程序代码中加上符合Doxygen所定义批注格式。三是使用Doxygen来产生批注。
因此,第一步就是为您的Project 制作Doxygen 的组态档案。这个所谓的组态档案,格式其实也很简单。就是一些Key 与值的设定。每个设定为一行。若第一行开头为"#" 表示该行为批注。Doxygen 会忽略它。每个设定行的格式有两种,分别如下:
TAG = value [value, ...]
及
TAG += value [value, ...]
第一种形式是最常见的,也就是要设定一个TAG (也就是一个Key ),他的值为右边所定义的部分。原则上每个值都是单一的英文字,如果您要定义的值有
空格符包含在内,可使用双引号将它括住。如果要定义的值超过一个以上,可使用逗号","予以分隔开来。
如果您要定义的TAG 是属于表列型态的,也就是他会有很多的值分别以逗号隔开。在Doxygen
组态档中允许您在不同的地方重复定义。只是后面的定义应使用上面所说的第二种形式。此种形式会将前后两个定义的值合并在一起。
知道这个基本格式后,剩下就是根据各个TAG 的意义来进行设定。关于TAG 的定义很多,此处我们仅针对必要用到的TAG 进行说明,剩下的部分请自行翻阅使用说明。
由于Doxygen 的TAG 还算不少,为了方便使用,Doxygen 自身提供了一个方便的选项,可以帮您建立一份空白的Doxygen档案(Doxygen 是Doxygen 预设的
组态档名)。
> doxygen Doxygen
透过这个命令,您可以得到一个Doxygen 档案,接下来就可使用一般的文字
编辑器来进行编辑。
下面将针对几个必要的TAG 进行说明:
PROJECT_NAME Project 的名字,以一个单字为主,多个单字请使用双引号括住。
PROJECT_VERSION
Project的版本号码。
OUTPUT_DIRECTORY
输出路径。产生的文件会放在这个路径之下。如果没有填这个路径,将会以目前所在路径来作为输出路径。
OUTPUT_LANGUAGE
输出语言。预设为English。1.2.16 版后,您可以使用Chinese-Traditional 来输出中文繁体的格式。
INPUT
指定加载或找寻要处理的程序代码档案路径。这边是一个表列式的型态。并且可指定档案及路径。举例来说若您有a.c, b.c, c.c 三个档案。您可使用INPUT = a.c, b.c, c.c 的方式。若您给定一个目录,该目录下面所有档案都会被处理。
FILE_PATTERNS
如果您的INPUT Tag 中指定了目录。您可以透过这个Tag来要求Doxygen在处理时,只针对特定的档案进行动作。例如:您希望对目录下的扩展名为.c, .cpp及.h的档案作处理。您可设定FILE_PATTERNS = *.c, *.cpp, *.h。
RECURSIVE
这是一个布尔值的Tag,只接受YES或NO。当设定为YES时,INPUT所指定目录的所有子目录都会被处理。
EXCLUDE
如果您有某几个特定档案或是目录,不希望经过Doxygen处理。您可在这个Tag中指定。
EXCLUDE_PATTERNS
类似于FILE_PATTERNS的用法,只是这个Tag是供EXCLUDE所使用。
SOURCE_BROWSER
如果设定为YES,则Doxygen会产生出
源文件的列表,以供查阅。
INLINE_SOURCES
如果设定为YES ,则程序代码也会被嵌入于说明文件中。
ALPHABETICAL_INDEX
如果设定为YES,则一个依照字母排序的列表会加入在产生的文件中。
GENERATE_HTML
若设定为YES ,就会产生HTML版本的说明文件。
HTML文件是Doxygen预设产生的格式之一。
HTML_OUTPUT
HTML文件的输出目录。这是一个
相对路径,所以实际的路径为OUTPUT_DIRECTORY加上HTML_OUTPUT。这个设定预设为
html。
HTML_FILE_EXTENSION
HTML_HEADER
要使用在每一页HTML文件中的Header。如果没有指定,Doxygen会使用自己预设的Header。
HTML_FOOTER
要使用在每一页HTML文件中的Footer。如果没有指定,Doxygen会使用自己预设的Footer。
HTML_STYLESHEET
您可给定一个CSS 的设定,让HTML的输出结果更完美。
GENERATE_HTMLHELP
如设定为YES,Doxygen会产生一个
索引文件。这个索引文件在您需要制作windows 上的HTML格式的HELP档案时会用的上。
GENERATE_TREEVIEW
若设定为YES,Doxygen会帮您产生一个树状结构,在画面左侧。这个树状结构是以JavaScript所写成。所以需要新版的Browser才能正确显示。
TREEVIEW_WIDTH
用来设定树状结构在画面上的宽度。
GENERATE_LATEX
设定为YES 时,会产生LaTeX 的文件。不过您的系统必需要有安装LaTeX 的相关工具。
LATEX_OUTPUT
LaTeX文件的输出目录,与HTML_OUTPUT用法相同,一样是指在OUTPUT_DIRECTORY之下的路径。预设为
latex。
LATEX_CMD_NAME
LaTeX程序的命令名称及档案所在。预设为
latex。
GENERATE_RTF
若设定为YES ,则会产生RTF 格式的说明档。
RTF_OUTPUT
与HTML_OUTPUT 用法相同,用来指定RTF 输出档案路径。预设为rtf。
GENERATE_MAN
若设定为YES ,则会产生Unix Man Page 格式的说明文件。
MAN_OUTPUT
与HTML_OUTPUT 用法相同,用来指定Man Page的输出目录。预设为man。
GENERATE_XML
若设定为YES ,则会产生XML 格式的说明文件。
ENABLE_PREPROCESSING
若设定为YES ,则Doxygen 会启动C 的前置处理器来处理原始档。
PREDEFINED
可以让您自行定义一些宏。类似于gcc 中的-D选项。
若上面这些基本的Tag 都设定正确,接下来就是将您的Source Code
批注修改成为正确的格式。若您觉得用一般文字
编辑器来编辑
组态档
很麻烦,建议您可以使用Doxygen Wizard这个工具程序。他可以很快
的建构出您所需要的Doxygen档案。