Creating トップ New World トップ Programming Room トップ Variousible ホーム

API リファレンスの生成

2004/05/05

ドキュメント生成ツールの Doxygen がバージョン 1.3.6 で Objective-C に対応しました。早速ドキュメント生成環境を整えてみます。

Doxygen のセットアップ

Doxygen を Mac OS X 10.3 で使用する際に必要となるバイナリパッケージは以下から入手します。

Doxygen はクラス間の関係などをドキュメントに図として含ませることができます。 そのために必要となるのが Graphviz です。両方を上記サイトから入手し、インストールします。 今回使用したのは Doxygen-1.3.6.dmz と graphviz-1.12-v6.dmz です。

ダウンロードが完了すれば、dmz をマウントし、中身をそのまま適当なフォルダにコピーします。 ここでは、ホームディレクトリに bin を作成しそこに、Doxygen.app と Graphviz をコピーしました。

Doxygen には GUI フロントエンドがありますが、コマンドラインで doxygen を使用できるようにパスの設定をします。以下を .bash_profile に追加します。

パスの設定
export PATH=~/bin/Doxygen.app/Contents/Resources:~/bin/Graphviz/Graphviz.app/Contents/MacOS:$PATH

これでコマンドラインで doxygen を実行できるようになります。

日本語文字コードへの対応

Xcode を使って開発をする場合、ソースコードは SJIS (Mac SJIS) が使用されていると思います。 Doxygen はソースの文字コードを EUC-JP として扱うため、ソースの文字コードが SJIS の場合は事前に EUC に変換してやる必要があります。 文字コードの変換には UNIX でおなじみの nkf (日本語漢字フィルタ) を使用できます。

nkf-204.tar.gz をダウンロードし、ビルドします。適当なディレクトリで展開して下さい。

$ tar zxvf nkf-204.tar.gz

展開された nkf204 ディレクトリに移動し、make を実行します。

$ make

root で /usr/local/bin に nkf をコピーしておきます。

$ sudo cp nkf /usr/local/bin

nkf を使うことで Doxygen で EUC に変換してドキュメント生成を行なえます。 この設定については次で記述しています。

ドキュメント生成

日本語文字コード対応のために、ソースが SJIS の場合は入力フィルタの設定が必須です。 まずはデフォルトの doxygen 設定ファイルを生成します。 ドキュメントを生成する対象となるプロジェクトのディレクトリで以下を実行します。

$ doxygen -g doxygen.conf

これにより、doxygen.conf という doxygen の設定ファイルがデフォルトのパラメータで 生成されます。 この設定ファイルを好みに応じて編集しますが、次の設定は文字コード変換に必須です。 doxygen.conf を開き、INPUT_FILTER を探してください。

doxygen.conf の設定
INPUT_FILTER = "/usr/local/bin/nkf -S -e"

なお、ソースが EUC の場合は不要です。また、graphviz を使用するためには、 以下の項目も編集する必要があります。

doxygen.conf の設定
HAVE_DOT = YES

設定が完了すれば、以下のようにしてドキュメント生成を行なえます。

$ doxygen doxygen.conf

各種設定についてはいろいろと思考錯誤して適当な設定を探してみて下さい。

Creating トップ New World トップ Programming Room トップ Variousible ホーム
※Mac OS is a trademark of Apple Computer, Inc., registered in the U.S. and other countries.
※Xcode is a trademark of Apple Computer, Inc., registered in the U.S. and other countries.
※Cocoa is a trademark of Apple Computer, Inc., registered in the U.S. and other countries.
※その他の登場する製品名は、各社の商標または登録商標です。
本サイトについて
Copyright © 2004 KURIHARA, Yusuke