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

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。. }5 i8 l& U) D  X5 |
一、doxygen 简介
9 ^2 s; j( l. l" F  f 简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。
# R+ g0 _5 A2 W  O; p: M官方网站:http://www.stack.nl/~dimitri/doxygen/index.html/ ]. F" j4 c# ?8 S$ g
它可以从三个方面帮助我们:
% ?/ M+ W6 l" R9 N9 S1 r) f1 K1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。
  V  A$ b& m: o; m3 K7 m b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。
" Q: u3 [4 M% N, K$ i4 y  M c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。4 T2 V% Q6 b# }) }6 d& O
2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。
- e6 q6 g% O% n' d2 d/ a a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。
2 {+ s" n  L) W b、Graphviz下载地址 http://www.graphviz.org/Download..php& T" K6 F6 N* Q$ }: b- l
3、 甚至可以“滥用”来创建普通文档。0 O* B4 [. P, J; }8 g) G" L
http://www.graphviz.org/Download..php0 L$ U* F. E, s6 M
二、Doxygen协议
+ _% A6 {" m# K/ J5 f6 ] Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。! v9 X& N2 x* `" z: P+ ?
三、 Doxygen的文档、FAQ、使用者和相关文章, r' l" x8 B* C9 n" u
a、http://www.stack.nl/~dimitri/doxygen/manual.html
+ L# s' o0 t! ~5 I& L2 db、http://www.stack.nl/~dimitri/doxygen/faq.html5 p- D* Z; Z9 \5 T) G1 [
c、http://www.stack.nl/~dimitri/doxygen/projects.html, J; O2 G: d* v% b$ G
d、http://www.stack.nl/~dimitri/doxygen/articles.html5 F: A2 ]8 K* q5 D; s5 B
四、使用Doxygen的一般步骤* N; o0 Z* V4 F9 S6 x
a、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
  Z4 ?5 _& p! lb、下载 Graphviz http://www.graphviz.org/Download..php( V7 R" p1 {+ B0 G, ^; F
c、安装 Doxygen 和 Graphviz(可选)/ c* B& ~3 ~1 o: \
d、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。
; a/ q' ~* W; r& We、按照Doxygen规则给源代码添加注释,将代码文档化
( I2 k6 Y  @4 g" \" D/ e2 ?f) 运行Doxygen 产生和源代码对应的文档。
, L+ v# W7 x; q, j五、安装doxygen
- o4 G  ~8 |" ?* p% H# {, ~a、Win下的安装
8 Q9 k( T2 b$ I4 Y i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了
" B/ y) E% G# |( Z ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)8 p7 u/ c5 f( {. H1 d6 {
b、在Unix兼容系统上采用编译源码方式安装 Doxygen
0 P: t: Q6 q! P$ v0 f; ]# M6 h& O i. 采用源码安装 Doxygen 要确认你的系统安装有:
5 I- Q  Y6 P1 e1 S 1. flex, bison 和 make等GNU工具& I! d6 r0 `4 [1 ~0 a
2. Perl# Z2 l1 d. i4 d
3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等
9 ^  r6 x8 w* O7 Z7 h 4. 为了使用Doxygen的高级功能,还需要安装以下附件工具- ^6 ]: c* E# F; {7 K
a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard
4 M- R0 r( i0 \ b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。3 @( d6 Q8 P+ z' \  Z- [- ]
c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。. ?* j  n8 f" ?3 L, }$ W
d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到+ |" s3 M, e- U! p% _
e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.
! }. y4 t# l8 [# i ii. 解压下载的Doxygen源码包
4 ~4 O! T9 R! L1 [; ~7 R  n2 n 1. tar xf doxygen-$VERSION.src.tar
7 t. `! s/ E% d8 a 2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile  M2 L  v- N% D# u  _( A
a、可以configure --platform platform-type自定平台类型* k" q, M& P- Z* t$ F) ?! b% K( N
b、configure --with-doxywizard 可以图形前端doxywizard* U( @; T/ a6 t0 a2 p
c、更多信息可以通过configure –help查看,并给定相应的配置
( W) r- l) w8 M- M. j' z iii. 编译Doxygen
$ M: z3 w$ X$ k" I4 H% s 1. make
6 I4 @  b( M; }/ V5 A: Z iv. 可选的产生手册" _+ A& b) ~2 x+ t$ O  Y
1. make docs
6 l( B, p0 [6 b  {" K' Z 2. make pdf- I' d. A1 w* y+ K
v. 安装 Doxygen3 _" Y6 J- D; z1 T! I0 i
1. make install (需要root用户权限)# m! k2 @9 B( _" |( a0 r' R
vi. 已知的问题
3 o$ a% `& U, x+ ] 1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:
: T2 p1 X) v0 R( f. |! k5 c mkdir qt 7 A2 M( A: M" D; u9 |
cd qt
( e$ D% Z% {3 e6 ^ ln -s your-qt-include-dir-here include + C0 d1 i- G* Q: _! Y
ln -s your-qt-lib-dir-here lib ( V7 v2 f" W) q, I6 D
export QTDIR=$PWD0 ]. }9 x4 Q  Q
2. bison 问题4 j5 _5 Z* n( S. e
a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本0 r  p( _. }+ y
3. Latex问题/ [% }4 n' p: M& o2 m& A
4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助
4 s1 f3 I  X6 n( A3 Y3 A8 R! _: f, Zc、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:
4 ~- ^5 a' r6 M i. apt-get install doxygen doxygen-doc doxygen-gui graphivz
5 J1 {# [5 _, ^+ id、其他安装细节请参考 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.|网站地图