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

[复制链接]
oLjwRgTm 发表于 2017-12-31 11:24:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
这几天有人问起关于文档生成工具的问题,个人觉得 doxygen 是一个不错的由C/C++ 注释自动生成文档的工具软件。在这里简单说明一下 doxygen 的使用,供大家参考。
8 v$ C! y" i1 z4 y一、doxygen 简介+ v+ f% Q: W' L
简单说,doxygen 就是一个文档系统,它可以为C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D 等语言生成文档。1 c$ f' o7 @: ?2 _; s8 {. Z( E, S
官方网站:http://www.stack.nl/~dimitri/doxygen/index.html
, N2 H9 m- ]/ F# |: L 它可以从三个方面帮助我们:- Y1 H( Z: ?, z4 ?+ w4 ^) c
1、 它可以产生HTML格式的在线文档或LATEX格式的离线参考手册,另外它还可以生成RTF(MS-WOu+(.hhk)。可以使用HTML Help Workshop中的CHM编译器(hhc.exe)编译后生成CHM文件。( [: r# e  O7 h0 I* }1 K2 x# S
b、Doxygen输出LATEX文档的同时,生成了了转换成pdf格式的文件的makefile。只要系统安装了相应的TEX工具,就可以从LATEX文档生成pdf文档。
/ s4 y3 o" n0 O; Z5 r+ v! z( c- v c、Doxygen输出的RTF格式,针对Word作了优化,可以很好的转换到Word文档。
; Z1 G2 F) {9 N7 j- f9 y2、 通过配置 doxygen,可以从非文档化的源文件中提取源文件结构,这有助于帮我们理清大的源码包的结构。它能够自动的产生包括:依赖图,继承图,协作图等元素之间关系的图表(需要graphviz支持)。
  I; q' i8 f% A# y/ ?" m; U, \ a、Graphviz是一个图形化软件,Doxygen使用Graphviz生成各种图形。( U( s5 o4 J$ w. z
b、Graphviz下载地址 http://www.graphviz.org/Download..php
5 D9 e# D6 ~5 u& m$ Z2 e3、 甚至可以“滥用”来创建普通文档。! J$ r" Q% P6 m8 o* r
http://www.graphviz.org/Download..php& j+ P, u$ N+ t. T
二、Doxygen协议
/ x, F! g! J( L- G Doxygen是在GPL协议下发布的,你可以使用其源码或编译好的二进制文件。Doxygen几乎可以在所有的linux兼容系统上运行,它也可以运行在windows环境。你可以根据需要选择。
2 a+ p$ L8 E" g5 `, g三、 Doxygen的文档、FAQ、使用者和相关文章' `  j/ w0 m: L
a、http://www.stack.nl/~dimitri/doxygen/manual.html' M- m0 I# P% ~# h; P1 A
b、http://www.stack.nl/~dimitri/doxygen/faq.html
0 w/ r; p  {2 i# X' \6 f) wc、http://www.stack.nl/~dimitri/doxygen/projects.html
9 J; x( K" B: I" M9 d0 ?% Ad、http://www.stack.nl/~dimitri/doxygen/articles.html  Q0 l  V0 F" o/ l# ^, N$ i
四、使用Doxygen的一般步骤
6 s# M# v9 N7 U; J) E. Y: qa、下载 Doxygen软件 http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc& H: w5 _9 r$ g9 y6 l8 z! l) U' w
b、下载 Graphviz http://www.graphviz.org/Download..php$ x' g# g1 c4 G  ]
c、安装 Doxygen 和 Graphviz(可选); s4 l8 v( N0 z' W
d、准备一个配置文件(Doxyfile),通常用Doxywizard生成,然后可以根据需要修改(也可以不改)。- `9 t( `5 P7 _* p
e、按照Doxygen规则给源代码添加注释,将代码文档化7 D4 ]; T7 a. d6 O6 C/ j! a2 i
f) 运行Doxygen 产生和源代码对应的文档。
* e6 c5 u0 p/ [五、安装doxygen
% s9 S" x) X$ {/ s& da、Win下的安装. C$ k; i% ~3 E* N# ?
i. 直接运行Doxygen 的 Setup EXE文件,安装提示操作就可以了
" m! |: \. P6 d/ W, g: i5 T ii. 运行Graphviz的安装(EXE)文件,按提示操作即可(可选)
, i6 a& k# t/ m3 r9 i, n6 ^b、在Unix兼容系统上采用编译源码方式安装 Doxygen
8 ~# K9 j' B' ^7 d9 G/ t$ B i. 采用源码安装 Doxygen 要确认你的系统安装有:, d3 Y# c+ S6 y, e7 V8 ]. B& n7 w
1. flex, bison 和 make等GNU工具
( Y: G1 j& O% W) R, p$ u 2. Perl. h, [0 o% G# t5 B* ^
3. configure 脚步要求你的系统上有标准Unix命令如:sed, date, find, uname, mv, cp, cat, echo, tr, cd, and rm等
$ a6 H+ g# k+ m3 z6 J7 x+ z, G 4. 为了使用Doxygen的高级功能,还需要安装以下附件工具$ f! j" S& p8 A* N" N' q9 Q2 V
a、Qt3.3或更高版本,doxygen用其构建GUI前端doxywizard1 |  B: ?& T5 ~4 E. T% Y1 K
b、一个Latex软件:如teTeX 1.0,用来产生LaTex、Postscript和PDF格式的输出。
- R7 H6 q3 r1 d- p& h8 p, R. f3 V c、Graph visualization toolkit 1.8.10或更高版本。Doxygen用它生成包含图、依赖图、继承图和协作图等。如果采用编译源码方式安装graphviz,你的系统需要freetype支持。
- l4 {8 c% J$ C$ ^( z6 x! n d、如果需要公式,或者你不希望使用pdflatex,则需要ghostscript,这个软件可以在www.ghostscript.com上找到
; b. Y+ W0 ]. Q7 x e、为了产生Doxygen自己格式的文档,Python也是需要的,www.python.org.
5 d; L3 e3 A& C ii. 解压下载的Doxygen源码包1 `6 K; `. ^# y. n# |4 d
1. tar xf doxygen-$VERSION.src.tar
0 ?8 `6 X" O' b9 Z* l% Q4 h 2. ./configure 会根据系统自动配置doxygen,并产生相应的makefile
1 g2 x% ]* N$ ^4 W6 G6 D a、可以configure --platform platform-type自定平台类型, `3 |! L) W! s- ^4 o' h
b、configure --with-doxywizard 可以图形前端doxywizard( K, h/ d0 f& ~
c、更多信息可以通过configure –help查看,并给定相应的配置( G0 Z6 A- F! m/ Q6 Z
iii. 编译Doxygen& D. U" _5 ]. ~7 `
1. make2 v9 S6 u8 ^+ L- E$ |) Z
iv. 可选的产生手册; S. v, R( n* }
1. make docs8 R6 j& e. |+ c: {) V
2. make pdf
8 v5 f* P" V6 r4 ?7 Z v. 安装 Doxygen
6 l3 ?- `* Z! q- V2 D% K 1. make install (需要root用户权限)% w5 O' w7 @& T/ e; q
vi. 已知的问题
# s' f  f3 a0 Q5 T" N* m7 W 1. 有些系统中,QT头文件和库文件不在QTDIR环境变量指定的目录下,解决办法:
9 l. m. ^: A/ n; Q# _! O8 E mkdir qt
. o6 q! w, f0 |3 f" a) t cd qt & [5 p) {/ L1 ~. w! ]( j( g
ln -s your-qt-include-dir-here include
6 M( L% o$ q; E( I! u2 M* W# n ln -s your-qt-lib-dir-here lib 9 D2 P( D; j3 I3 g( ?4 Q
export QTDIR=$PWD
% y; ~! q! Y  q% N 2. bison 问题% |; |; f( O6 T) v( }
a、bison 1.31至1.34版本有一个Bug,可以使用1.35或1.31以前的版本
% \. q( ]: g7 j  M2 J 3. Latex问题( X* k: T6 z* e7 _1 s$ o. ]
4. 文件 a4wide.sty 不是在所有的版本中都有效的,如果你使用的版本不支持请在config文件中选择其他的 pager type,具体可以参看 PAPER_TYPE 相关帮助) M& \" `2 N) ]* R1 y
c、Ubuntu下采用二进制文件安装,可以用root用户使用下面的指令安装:1 s  K- B5 T# @/ h: A$ \
i. apt-get install doxygen doxygen-doc doxygen-gui graphivz
% m6 a3 P6 n5 pd、其他安装细节请参考 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.|网站地图