C++のソースコードからdoxygenとGraphvizを用いてクラス図生成

okunoの日記:doxygen+graphvizでC++のソースコードを可視化するにしたがってやってみた。環境はUbuntu 11.10

インストール

% sudo aptitude install graphviz doxygen

クラス図作成

ソースコードが src/trunk にあるとする。

% cd src/trunk
% doxygen -g
% cp -p Doxyfile Doxyfile.org

Doxyfileを編集する。編集内容は以下のとおり。

% diff Doxyfile.org Doxyfile
28c28
< PROJECT_NAME           =
---
> PROJECT_NAME           = MyProject
321c322,323
< EXTRACT_ALL            = NO
---
> #EXTRACT_ALL            = NO
> EXTRACT_ALL            = YES
326c328,329
< EXTRACT_PRIVATE        = NO
---
> #EXTRACT_PRIVATE        = NO
> EXTRACT_PRIVATE        = YES
331c334,335
< EXTRACT_STATIC         = NO
---
> #EXTRACT_STATIC         = NO
> EXTRACT_STATIC         = YES
637c641,642
< RECURSIVE              = NO
---
> #RECURSIVE              = NO
> RECURSIVE              = YES
738c743,745
< SOURCE_BROWSER         = NO
---
> #SOURCE_BROWSER         = NO
> SOURCE_BROWSER         = YES
> 
1163c1170,1171
< GENERATE_LATEX         = YES
---
> #GENERATE_LATEX         = YES
> GENERATE_LATEX         = NO
1544c1552,1553
< HAVE_DOT               = NO
---
> #HAVE_DOT               = NO
> HAVE_DOT               = YES
1599c1608,1609
< UML_LOOK               = NO
---
> #UML_LOOK               = NO
> UML_LOOK               = YES
1626c1636,1637
< CALL_GRAPH             = NO
---
> #CALL_GRAPH             = NO
> CALL_GRAPH             = YES
1634c1645,1646
< CALLER_GRAPH           = NO
---
> #CALLER_GRAPH           = NO
> CALLER_GRAPH           = YES
1657c1669
< DOT_PATH               =
---
> DOT_PATH               = /usr/bin
1689c1701
< MAX_DOT_GRAPH_DEPTH    = 0
---
> MAX_DOT_GRAPH_DEPTH    = 2

okunoの日記:doxygen+graphvizでC++のソースコードを可視化するとは、HAVE_DOTがなくなったことと、(HAVE_DOTはある)DOT_PATHを設定するところが違う。

その後、ドキュメントを生成する。

% doxygen

src/truck/html/index.html をブラウザで開くとドキュメントを見ることができる。