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

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。0 n9 ]1 G% N# k6 ^
一、doxygen 简介
& g1 J$ ~6 _0 v5 G4 @, k1 P, { 简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。( s/ e! T! `: j. ^) O/ q/ A
官方网站:http://www.stack.nl/~dimitri/doxygen/index.html
" _/ g4 Z# `4 p1 F. T 它可以从三个方面帮助我们:
5 q, |0 i% V* o* g( T1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。9 c$ _4 P( E" M" ~5 H$ `
b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。
& Q  P8 R! I7 N8 p c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。, J6 G# N6 s: w) P
2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。
9 j' A! C4 K' Q  V7 _ a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。* L. F: h2 f6 E
b、Graphviz下载地址 http://www.graphviz.org/Download..php
; k, _. r! `+ C/ m# u' i4 Q3、 甚至可以“滥用”来创建普通文档。
+ A8 C. X5 Q/ G  M  g. B0 whttp://www.graphviz.org/Download..php( O! P, ?' w! T; l) T/ v- W
二、Doxygen协议2 ~8 _; B8 R$ ^
Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。! e3 e4 q+ T/ S& Y- [
三、 Doxygen的文档、FAQ、使用者和相关文章
5 p6 s) Z6 U/ v  L8 Q- N5 u4 ua、http://www.stack.nl/~dimitri/doxygen/manual.html
$ E" I5 T2 ~  y3 @+ n. d) n2 Bb、http://www.stack.nl/~dimitri/doxygen/faq.html
( k$ d: W' B4 X! n8 j% Xc、http://www.stack.nl/~dimitri/doxygen/projects.html
- A+ A- P1 e7 `' ed、http://www.stack.nl/~dimitri/doxygen/articles.html! b+ {* p' O2 n8 t
四、使用Doxygen的一般步骤2 e- k) e. y8 W8 B
a、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
9 k; C( J9 [2 C$ {. tb、下载 Graphviz http://www.graphviz.org/Download..php& q) ^5 u+ S# J2 @6 ?9 W& R
c、安装 Doxygen 和 Graphviz(可选)
% M: C* w+ v9 Y; {2 ?4 id、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。: Q3 K1 X  B1 v* x
e、按照Doxygen规则给源代码添加注释,将代码文档化: M2 @! L$ T. R! E0 ]& U* T7 D
f) 运行Doxygen 产生和源代码对应的文档。
  O" S& Y5 A, f6 k9 W8 x. d2 l+ R五、安装doxygen" S+ }" `8 {) D5 b1 M
a、Win下的安装
- ?3 g  D  z; ?7 S i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了0 j$ O3 `. V% G+ O8 G3 ^3 [
ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)
2 p3 W( K5 I2 {  mb、在Unix兼容系统上采用编译源码方式安装 Doxygen
( X9 N$ R* k* I8 P& |5 k i. 采用源码安装 Doxygen 要确认你的系统安装有:9 z- j: _6 h7 ], t, Y# ]4 I
1. flex, bison 和 make等GNU工具
1 l, X1 N" c9 G4 |. D* v 2. Perl9 }. [" l0 {7 M( u4 x" C5 j$ e7 X+ E
3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等0 ~2 x7 p5 S0 s# M4 X
4. 为了使用Doxygen的高级功能,还需要安装以下附件工具
2 h% X6 e4 D/ Z) f  c, I" m  s a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard* b$ g" j: @  R5 A
b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。
/ v) N7 ]2 O  m% l c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。8 b- ?* n8 W( ^) t
d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到0 f% Z+ U) F' }2 B) [
e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.
% q& m. I: v+ i& S6 C ii. 解压下载的Doxygen源码包  ]* U6 j  ^+ V2 H) p7 c1 q
1. tar xf doxygen-$VERSION.src.tar
2 H5 [$ F8 w- `, O$ l+ M( o4 ] 2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile# }+ _3 \; K$ R" ^
a、可以configure --platform platform-type自定平台类型( E% c' w. G* r; D+ _( v
b、configure --with-doxywizard 可以图形前端doxywizard
+ R* G( |+ V6 W$ O- ? c、更多信息可以通过configure –help查看,并给定相应的配置
0 p! j# R$ _: Q" c iii. 编译Doxygen
. m' m: w( @2 c# o- h5 q  R& T% J 1. make1 m- Q: U% ~& I8 y0 X+ w
iv. 可选的产生手册" M( p: O8 w- z0 v# t
1. make docs# Y9 e! A  y4 Z
2. make pdf% l5 Y! r# W3 ~! b0 u
v. 安装 Doxygen
5 D' d: x1 N- D# q4 _ 1. make install (需要root用户权限)
$ `7 N# V2 N# | vi. 已知的问题1 O* U4 z- y0 G, ?
1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:
2 P2 D+ s: ~6 ?/ F. Q6 | mkdir qt & \& r5 F( |8 J5 ]4 Z  h- ]9 I
cd qt
* m" D* ]& X: `7 L; y/ x& }8 A ln -s your-qt-include-dir-here include 9 }+ Y8 |0 p/ j7 N5 e. w/ a
ln -s your-qt-lib-dir-here lib
# o) Y1 @5 E) @ export QTDIR=$PWD+ P/ k8 @& ^9 |1 U  R
2. bison 问题& {6 u8 e- r6 J# f
a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本) `8 M" J. Z7 J: N4 j' b+ ^
3. Latex问题
. A8 l: ]8 n1 S# { 4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助
) w2 p' Y, L; B0 j) F& @c、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:
' G8 l0 P( N  A. x. R i. apt-get install doxygen doxygen-doc doxygen-gui graphivz
1 e8 E: u6 R+ y) N/ D7 h* ^+ hd、其他安装细节请参考 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.|网站地图