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

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。# Z, q, L. X  T# e! b& U4 y$ ?
一、doxygen 简介
5 P/ t3 p. o- N1 b6 p. J& z! Q 简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。
1 K; a# d. s" P* A; ?& R官方网站:http://www.stack.nl/~dimitri/doxygen/index.html
: A' B, F0 c" T0 _; I/ D$ f 它可以从三个方面帮助我们:
# k* h3 }" q+ U8 d$ f% b9 M1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。
  @* ]0 q& p6 @8 _8 z b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。
6 K5 i, P& [+ Y, b! w+ P c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。
0 a7 n1 L. k# y1 Z: h9 O* s2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。
% N" a% [; r/ {( v: Y a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。
8 w0 V6 ?! h, N b、Graphviz下载地址 http://www.graphviz.org/Download..php
6 A) }) U: n3 T1 z5 b* x7 P3、 甚至可以“滥用”来创建普通文档。( E6 c0 Y) _: ]& o
http://www.graphviz.org/Download..php1 M, B* }4 Y- X& x$ G5 T8 s
二、Doxygen协议8 X) b2 L# u! d+ j0 B
Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。( j' T0 n2 y! V6 o1 C* P8 |9 u
三、 Doxygen的文档、FAQ、使用者和相关文章6 ^' ]1 o, \5 ]0 b& F+ Y
a、http://www.stack.nl/~dimitri/doxygen/manual.html
3 |- E$ Q( u) w8 zb、http://www.stack.nl/~dimitri/doxygen/faq.html% E% I8 |! L- o$ m
c、http://www.stack.nl/~dimitri/doxygen/projects.html& V% ]% B! B8 c1 t& C2 A' _" G
d、http://www.stack.nl/~dimitri/doxygen/articles.html
0 ?% L- A& L% n' {, T0 a1 P( \四、使用Doxygen的一般步骤* P$ a! L7 J6 I. J, H7 h* Q
a、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
- Y9 p, w1 e4 Z8 Q4 v$ J$ [! nb、下载 Graphviz http://www.graphviz.org/Download..php
7 d% O: k1 z8 H9 Mc、安装 Doxygen 和 Graphviz(可选)
( r; H. [8 X0 M" {" @4 ]/ Id、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。8 Q3 o1 r3 G, _
e、按照Doxygen规则给源代码添加注释,将代码文档化! P* r' L# q, A7 B& F' H  S' y; t
f) 运行Doxygen 产生和源代码对应的文档。
. p; o0 }2 K! P  \3 T8 W! y2 g五、安装doxygen
9 ?0 X& A! F( v$ r& L' la、Win下的安装
: S" q) j8 [  n! ~* j8 D  X i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了/ F" U7 U9 }0 O8 w
ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)+ K( b" I9 \  Q/ M4 o, z8 E+ s* i
b、在Unix兼容系统上采用编译源码方式安装 Doxygen6 X) ]* r# [( l7 J& P
i. 采用源码安装 Doxygen 要确认你的系统安装有:
5 [' g/ j4 j) {& y- W' t 1. flex, bison 和 make等GNU工具
4 h$ P# k8 P9 ^& b; B5 \6 ` 2. Perl
9 T! v9 `& |1 _) A 3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等
+ A; d: ~7 _* n3 y8 }1 k" O 4. 为了使用Doxygen的高级功能,还需要安装以下附件工具, ?2 H! j2 X& l) x( M
a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard) B' r7 f- C' S! }& K
b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。
) v/ \* x" _# K+ I7 W, o c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。, |( j, w% W' x7 }% D  z( v
d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到
% n6 j$ R* M2 W% c e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.; n1 {) i. E% e3 a; f- B7 f7 x
ii. 解压下载的Doxygen源码包
/ r( [8 ]: k0 M/ l$ o% k; w 1. tar xf doxygen-$VERSION.src.tar
  j! A* o  I5 v$ S0 E$ F+ B& W 2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile
; ?: e6 Q; H) G2 s1 L( N a、可以configure --platform platform-type自定平台类型
4 q; x% l( D0 u8 p  V b、configure --with-doxywizard 可以图形前端doxywizard
" X$ w8 A2 L! X c、更多信息可以通过configure –help查看,并给定相应的配置8 F6 m" a( x" V: H; [1 ?2 r4 U
iii. 编译Doxygen
% ~$ A- e: E# s( Y 1. make7 ^) A; _- H/ J. K
iv. 可选的产生手册
7 ~5 D4 o2 f4 s- ?6 ` 1. make docs7 `9 t3 ]# s9 K8 I8 k- j
2. make pdf
( L# y1 S* Q  K7 X v. 安装 Doxygen
: d" r% n, d8 ? 1. make install (需要root用户权限)3 V' l. z# L2 t7 J
vi. 已知的问题3 \5 q0 Z0 y5 y
1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:# W, x8 M$ O- m# E1 ?7 F! y
mkdir qt
+ o# B( J) K1 z7 E. W7 Q) t% ?& O# D cd qt * u2 ~9 n& V+ Z9 g! L+ {
ln -s your-qt-include-dir-here include
- v* V& k: [* V; d ln -s your-qt-lib-dir-here lib
, L) I# m/ @2 Y3 I' I% W/ E export QTDIR=$PWD
$ P0 l, o& h0 H) v  P/ X 2. bison 问题
; |7 E- w$ d8 K. N a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本
: |' X$ A5 u9 W5 f 3. Latex问题- X6 W% r3 O7 B
4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助" ?; m3 X7 A* s2 _& h1 C" m
c、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:
# }5 r4 p* V- `- L' P# ? i. apt-get install doxygen doxygen-doc doxygen-gui graphivz$ O' V8 A% |2 D  M
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.|网站地图