Doxygenを使ったドキュメント作成
自作APIなどのドキュメントを作って外部に公開したい場合、Doxygenというフリーのツールが役立ちます。
何が便利かというとコマンドを打つだけでドキュメントが簡単に生成できるうえにC++やCだけでなく、PHPやJaveなどの多数の言語にも対応している点です。
ここではそのDoxygenの導入と使い方についてまとめてみました。
Doxygenのインストール
まず、GITからDoxygenをダウンロードします。
http://sourceforge.net/projects/doxygen/files/snapshots/doxygen-1.8-svn/windows/Windowsの場合は上のリンクから最新版のdoxygenを選んでzipファイルをダウンロードできます。
後は適当な場所に展開するだけでdoxygenコマンドが使えるようになります。必要ならdoxygenのパスを通しておいたほうが便利です。
Linux系のOSを使っている場合は次の一連のコマンドを打ってインストールします。
git clone https://github.com/doxygen/doxygen.git cd doxygen ./configure make make distclean git pull ./configure make make install
Doxygenの使い方
例えば次のような構成を持つプロジェクトを例にとります。
- MyApp
- main.cpp
- SampleClass.h
- SampleClass.cpp
このプロジェクトでドキュメンテーションを作りたい場合、まずプロンプト上でプロジェクトのあるフォルダまで移動します。
cd MyApp
移動したら設定ファイルを作ります。拡張子は何でもいいですが、分かりやすくapi.docconfという名前のファイルを作ります。
ドキュメンテーションは次のコマンドを打てば生成されます。
doxygen api.docconf
プロジェクト内にhtmlとtexというディレクトリが生成されるはずです。その中にそれぞれHTML形式とTEX形式のドキュメントが作られます。
Doxygenのドキュメント例
ドキュメンテーションを生成するソースファイルとして次のようなクラスを作りました。
#ifndef SAMPLECLASS_H #define SAMPLECLASS_H #include <iostream> /** This is sample.*/ class SmapleClass { public: /** Constructor.*/ SmapleClass(){} /** Print "hello!!".*/ void sayHello(){ std::cout << "Hello!!\n"; } /** Print "Bye!!".*/ void sayBye(){ std::cout << "Bye!!\n"; } }; #endif // SAMPLECLASS_H
doxygenを実行するとhtmlディレクトリにclass_smaple_class.htmlというドキュメンテーションが生成されます。
関数や定数の一覧がコメント付きでまとめられるだけでなく、CSSによってレイアウトされた見栄えのいいドキュメントが作れます。
いろいろ設定を弄りたい場合は設定ファイル(ここではapi.docconf)を編集すれば細かな設定も出来ます。
詳しくはdoxygenの設定などが参考になります。
あまりQTは関係ありませんでしたが、これがdoxygenを使ったドキュメンテーションの生成方法です。お疲れ様でした!