用doxygen为C/C++程序自动生成文档《1、简介及安装》

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。
, `+ f, k! F: `一、doxygen 简介
+ O+ L& u5 ~4 u0 Q+ Z) |; M 简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。
, o7 u/ @) p" U. n" Y官方网站:http://www.stack.nl/~dimitri/doxygen/index.html" _/ W/ }$ ~( W; n, S2 K, ]
它可以从三个方面帮助我们:
% t2 Z# ~2 @5 G% m7 S1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。1 R( S: q! ^7 h' k
b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。" o7 R7 R4 Z+ ?  _
c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。
2 D  ~' T& `# R/ P2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。- [5 o" S# |- r6 _, U0 s
a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。7 O# ~. X/ d; k: Z3 b4 j) s! p$ g. i; |
b、Graphviz下载地址 http://www.graphviz.org/Download..php
. b8 S: P- x4 B- M0 O3、 甚至可以“滥用”来创建普通文档。
) R" X' Q% A+ O' uhttp://www.graphviz.org/Download..php
) f  ^  E6 j+ f/ ?二、Doxygen协议
' m# _$ H& C% h Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。
; C; x6 y  q* \7 W2 C! N" b2 n5 x三、 Doxygen的文档、FAQ、使用者和相关文章
# A2 y, I' C4 m  r% ha、http://www.stack.nl/~dimitri/doxygen/manual.html0 `. z9 d5 z& h
b、http://www.stack.nl/~dimitri/doxygen/faq.html
3 E6 h4 i& T1 Oc、http://www.stack.nl/~dimitri/doxygen/projects.html) m: W; q6 }9 r  r$ \1 ^
d、http://www.stack.nl/~dimitri/doxygen/articles.html5 A) r- c! A6 k" a( Q, I+ t/ W
四、使用Doxygen的一般步骤5 c% g' B! i* }+ `4 i) ~/ l
a、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
% n, ?, r/ B% k+ Z% s- W! gb、下载 Graphviz http://www.graphviz.org/Download..php$ k" L9 O# ~6 Z
c、安装 Doxygen 和 Graphviz(可选)
  r; @# o8 }8 s! c: Q$ od、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。" h1 G2 {4 ?1 [* K* f+ ~2 l* S; U
e、按照Doxygen规则给源代码添加注释,将代码文档化5 M/ O, L+ W# j) R
f) 运行Doxygen 产生和源代码对应的文档。" D! N3 U  q% n
五、安装doxygen
+ ^/ w3 T$ n2 k# m+ x; P4 S4 {a、Win下的安装
$ H* E) M$ q9 w9 c- v1 I  ~3 H$ J i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了, M" ]; V  S. S) L
ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)
0 ~3 m, B, S" H2 Qb、在Unix兼容系统上采用编译源码方式安装 Doxygen2 o/ \6 ?, M0 n; y6 b9 d* s
i. 采用源码安装 Doxygen 要确认你的系统安装有:3 b0 n- ^  ?! s8 V
1. flex, bison 和 make等GNU工具. s( I/ B# O& |$ L
2. Perl
9 {4 P6 }1 c1 B. L4 n8 E 3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等
, H- ?: `4 U3 A: P 4. 为了使用Doxygen的高级功能,还需要安装以下附件工具
% J2 |& D, S! c0 S a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard* a! P" Y5 q- k
b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。
1 S; |, k' D( O9 b1 L: B! | c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。+ _+ D, J$ o0 q; t/ h! X+ K
d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到; ?* |! x+ j# K* S* y
e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.
3 o6 T$ w# f( b9 I ii. 解压下载的Doxygen源码包7 z# W# G; B1 V% P
1. tar xf doxygen-$VERSION.src.tar 1 ~% f) ~% p' P* F7 @0 ^/ q
2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile4 T  g9 h+ P* k! U4 \3 a
a、可以configure --platform platform-type自定平台类型
! F5 P0 v9 p4 n( P- [( S, b b、configure --with-doxywizard 可以图形前端doxywizard1 [" U. J0 Y' S. c
c、更多信息可以通过configure –help查看,并给定相应的配置: b2 T4 C0 V( N8 ]
iii. 编译Doxygen
9 @/ K4 K: n/ F 1. make6 E) A. _/ Q8 ^/ v( A& p0 T
iv. 可选的产生手册
/ y: N3 g; m, E2 i; A. A 1. make docs, |9 r9 k: F3 `) h# M  g# k. e
2. make pdf2 @* j: z- n: W
v. 安装 Doxygen' V  B% s& L9 X* [2 T% E
1. make install (需要root用户权限)
% u# _3 g" n! Y/ G- L: m, r vi. 已知的问题) B  ]' m4 J5 M# P8 p, t+ g
1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:. P6 P2 ?* Q7 C7 c! b; H% n- Z
mkdir qt 2 z/ D0 S0 |: l( e3 ?% m+ Y. h
cd qt ; ]# G5 m/ k3 n2 ^8 }! g4 X* D
ln -s your-qt-include-dir-here include
8 j' o+ R' [6 k6 x1 f- G ln -s your-qt-lib-dir-here lib
" T+ {9 @7 b9 K9 B export QTDIR=$PWD
4 ]4 {4 P) m( r; a: m: p7 I- j 2. bison 问题7 W: K, H( I# t$ h/ X
a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本$ B5 W+ Z( c2 b7 T
3. Latex问题
6 r# M" T) g" W& `: J* u! A' z 4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助7 u6 z! n" `" Z" E; b
c、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:
4 t* G3 d) R5 X" c) A: `% x# m, o i. apt-get install doxygen doxygen-doc doxygen-gui graphivz8 k8 j  E# C: s: ^  \
d、其他安装细节请参考 http://www.stack.nl/~dimitri/doxygen/install.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
推荐阅读更多+
阅读排行更多+
用心服务创业者
0851-88611148
周一至周五 9:00-18:00
意见反馈:admin@0851life.com

扫一扫关注我们

Powered by 童码少儿编程 X3.4© 2001-2013 0851life Inc.|网站地图