在 Linux 上用 Doxygen 生成源代码文档
原创在 Linux 上使用 Doxygen 生成源代码文档
Doxygen 是一个非常有用的开源工具,它能够自动生成高质量的技术文档。在 Linux 系统上使用 Doxygen 可以帮助开发者轻松地创建和维护源代码文档。本文将详细介绍怎样在 Linux 上安装 Doxygen,配置文档生成,以及怎样使用它来生成源代码文档。
1. 安装 Doxygen
在 Linux 上安装 Doxygen 相对简洁,以下是在不同发行版中安装 Doxygen 的步骤:
1.1 对于基于 Debian 的发行版(如 Ubuntu)
sudo apt-get update
sudo apt-get install doxygen
1.2 对于基于 Red Hat 的发行版(如 CentOS)
sudo yum install doxygen
1.3 对于基于 Arch Linux 的发行版
sudo pacman -S doxygen
2. 配置 Doxygen
安装完成后,需要配置 Doxygen 以适应你的项目需求。这通常涉及到创建或编辑一个名为 `Doxyfile` 的配置文件。
2.1 创建或编辑 Doxyfile
Doxyfile 是 Doxygen 的配置文件,通常位于项目根目录下。如果没有这个文件,你可以通过以下命令创建它:
doxygen -g
这将生成一个默认的 Doxyfile 文件。你可以编辑这个文件来配置 Doxygen,以下是一些常见的配置选项:
- OUTPUT_DIRECTORY: 指定输出目录,文档将在这里生成。
- INPUT: 指定要生成文档的源文件。
- FILE_PATTERNS: 指定要搜索的文件模式。
- GENERATE_LATEX: 设置为 YES 来生成 LaTeX 文档。
- GENERATE_HTML: 设置为 YES 来生成 HTML 文档。
- GENERATE_MAN: 设置为 YES 来生成 man 页面。
- GENERATE_QHP: 设置为 YES 来生成 Qt Help Project 文件。
以下是一个简洁的 Doxyfile 示例:
# Doxyfile 1.8.13
# This file describes the settings to be used by the documentation generator
# Doxyfile Version 1.8.13
# Project related configuration
PROJECT_NAME = MyProject
PROJECT_NUMBER = 1.0
PROJECT_BRIEF = A brief description
PROJECT_LOGO = logo.png
OUTPUT_DIRECTORY = doc
OUTPUT_LANGUAGE = Chinese
CREATE_SUBDIRS = YES
LEFT_COLUMN_WIDTH = 200
FILE_VERSION_FILTER =
# Configuration options related to source directories
INPUT = .
FILE_PATTERNS = *.cpp *.h *.c *.dox *.md
RECURSIVE = YES
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
# Configuration options related to HTML output
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER_FILE = header.html
HTML_FOOTER_FILE = footer.html
HTML_COLORSTYLE_H = style.css
HTML_COLORSTYLE_S = style.css
HTML_TIMESTAMP = YES
GENERATE_HTMLHELP = NO
GENERATE_CHI = NO
GENERATE_QHP = NO
QHPjedimode = NO
QHP_FORWARD_LINKS = NO
QHP_INDEX_TITLE = MyProject Documentation
QHP_INDEX_NAME = index.html
QHP_SECTIONS_TITLE = MyProject Documentation
QHP_SECTIONS_NAME = sections.html
QHP_TOC_STRICT = NO
QHP_AUTOGEN_TOCTREE = YES
QHP_TOCTREE_WIDTH = 2
QHP_TOCTREE_NUMLevels = 3
QHP_SECTIONS = YES
QHP ApplicationController = NO
# Configuration options related to LaTeX output
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_INPUT = plain
LATEX_OUTPUT_DIRECTORY = doc/latex
LATEX_COMMAND = latex
LATEX_PROGRAM = latex
LATEX_ARGUMENTS =
LATEX_HEADER_FILE =
LATEX_FOOTER_FILE =
LATEX_CMDNAME = latex
LATEX_HEADER =
L