Doxygen latest release v1.5.9 - last update 14 Feb 2011

インストール

まず、最新のディストリビューションをお持ちでなければ、 ダウンロードのページ へ行って、取得してください。

このセクションは、以下のセクションに分かれています。

Unix でのソースからのコンパイル

ソース・ディストリビューションをダウンロードしたのであれば、 実行可能ファイルをビルドするには、少なくとも以下が必要となります。

  • GNU ツール flex、bison および GNU make、strip
  • 自分のプラットフォームに応じた Makefile を生成するために perl
  • configureスクリプトは、Unixの標準ツール sed, date, find, uname, mv, cp, cat, echo, tr, cd, rmなどが使えることを前提にしています。

Doxygen の機能を完全に発揮させるには、以下のツールを追加でインストールしてください。

  • Qt Software の GUI ツールキット Qt version 3.3 以上。 これは GUI フロントエンド doxywizard のビルドに必要です。
  • $\mbox{\LaTeX}$ ディストリビューション: 例えば teTeX 1.0 。 これは LaTeX、PostScript、PDF 出力の生成に必要です。
  • the Graph visualization toolkit version 1.8.10 以上 . インクルード依存図、グラフィカルな継承図、およびコラボレーション図のために必要です。 graphviz を自分でコンパイルするのであれば、フリータイプ・サポート (フリータイプ・ライブラリとヘッダーファイルが必要)をインクルードしてください。 さもなければ、グラフに適切なテキストラベルが表示されません。
  • 公式を入れる、あるいはpdflatexを使わない場合は、ghostscript インタープリタが必要です。www.ghostscript.com にあります。
  • Doxygen自体のドキュメントを生成するには、Pythonが必要です。www.python.orgにあります。

コンパイルは、現在、以下のステップを実行することによって行います。

  1. アーカイブを解凍していなければ、解凍します。

        gunzip doxygen-$VERSION.src.tar.gz    # アーカイブを展開する
        tar xf doxygen-$VERSION.src.tar       # ファイルを取り出す
    

  2. configure スクリプトを実行します。

        sh ./configure
    

    configureスクリプトによって、使用中のプラットフォーム、make ツール(GNU make でなければなりません)、perl インタプリタを検出し、報告します。

    プラットフォームの自動検出、実行可能なコンパイラの設定を上書きするには、次のように設定します。

        configure --platform platform-type
    

    可能なプラットフォームのオプションのリストは、PLATFORMSファイルを参照してください。

    Qt-3.3.x 以上がインストールされ、GUI フロントエンドをビルドするのであれば、 --with-doxywizard オプションを付けて configure スクリプトを実行してください。

        configure --with-doxywizard
    

    他のコンフィギュレーション・オプションの概略を知るには、

        configure --help
    

    を使います。

  3. make を実行して、プログラムをコンパイルします。

        make
    

    コンパイルが実行され、問題がなければディストリビューションの bin ディレクトリに3つのバイナリ (doxygen および doxytag) ができます。

  4. オプション: ユーザーマニュアルを生成します。

        make docs
    

    HTMLドキュメントを生成させます。 ディストリビューションの HTML ディレクトリ に、html ドキュメントが出力されます。 (HTML ブラウザで html ディレクトリのファイル index.html を開いてください)。これには、pythonインタープリターが必要になります。

  5. オプション: マニュアルの PDF 版を生成します (これには pdflatexmakeindex、および egrep が必要です)。

        make pdf
    

    PDF マニュアル doxygen_manual.pdf が、 ディストリビューションの latex ディレクトリに出力されます。 Acrobat Reader を使って閲覧し、印刷してください。

Unix でのバイナリのインストール

ソースコードのコンパイルの後、make install を行って Doxygen をインストールします。 Unix のバイナリ・ディストリビューションをダウンロードしたのであれば、 次のように実行してください。

    ./configure
    make install

バイナリはディレクトリ <prefix>/bin にインストールされます。 <docdir>/doxygen にドキュメントと例をインストールするには、 make install_docs を使用してください。

<prefix> はデフォルトでは /usr/local ですが、 configure スクリプトの --prefix によって変更できます。 デフォルトの <docdir> ディレクトリは <prefix>/share/doc/packagesですが、configure スクリプトの --docdir によって変更できます。

他に、bin ディレクトリから、直接自分の好きなパスの通ったbinディレクトリに、手作業でコピーすることもできます。 Doxygen を使うには、これで十分です。

メモ: この方法では、GNUのinstall ツールが必要です (coreutils パッケージの一部)。他のinstallツールではバイナリを間違ったディレクトリに入ることがあります!

RPM または DEP パッケージがあれば、これらのパッケージのために必要な標準のインストール手続に従ってください。

Unix でコンパイルする上での既知の問題

Qt 問題

Qt インクルード・ファイルとライブラリが、QTDIR が指すディレクトリのサブディレクトリでないシステムがあります。 (例えばレッドハット 6.0では、includes は、/usr/include/qt にあり、libs は /usr/lib にあります)。

対処方法: doxygen ディストリビューションのルートに移動し、以下を実行してください。

   mkdir qt
   cd qt
   ln -s your-qt-include-dir-here include
   ln -s your-qt-lib-dir-here lib
   export QTDIR=$PWD

csh ライクなシェルの場合、上記の export コマンドの代わりに setenv QTDIR $PWD を使用してください。

ここで、上の説明のように doxygen をインストールしてください。

Bison 問題

bison のバージョン 1.31 から 1.34 までは、以下のようなコンパイル・エラーを結果として生じる「バグ」を含んでいます。

ce_parse.cpp:348: member `class CPPValue yyalloc::yyvs' with constructor not allowed in union

この問題はバージョン 1.35 (1.31 以前のバージョンも動きます) で解決されました。

Latex 問題

ファイル a4wide.sty がないディストリビューションがあります。 もし該当するディストリビューションなら、設定ファイルでペーパータイプ(設定ファイルの PAPER_TYPE タグ)を選んでください。

HP-UX & Digital Unix 問題

HP-UX でaCC を使ってコンパイルすると、以下のエラーが発生するのであれば、

    /opt/aCC/lbin/ld: Unsatisfied symbols:
    alloca (code)

(Anke Selig によれば) ce_parse.cpp を次のように編集してください。

    extern "C" {
      void *alloca (unsigned int);
    };

    #include <alloca.h>  

に置き換えてください。

これで解決しないのであれば、ce_parse.cpp を削除して、 bison にそれを再ビルドさせてください (作者の場合はこれで動きました)。

Digital Unix でコンパイルしているのであれば、同じ問題は、(Barnard Schmallhof によると) ce_parse.cpp の

    #else /* not GNU C.  */
    #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
        || defined (__sparc) || defined (__sgi)
    #include <alloca.h>

    #else /* not GNU C.  */
    #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
        || defined (__sparc) || defined (__sgi) || defined (__osf__)
    #include <alloca.h>

に置き換えることで解決できるでしょう。

他に、bison 側での解決方法もあります。 以下に bison.simple のためのパッチがあります (Andre Johansen から提供)。

--- bison.simple~       Tue Nov 18 11:45:53 1997
+++ bison.simple        Mon Jan 26 15:10:26 1998
@@ -27,7 +27,7 @@
 #ifdef __GNUC__
 #define alloca __builtin_alloca
 #else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
     || defined (__sparc) || defined (__sgi)
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) \
     || defined (__sparc) || defined (__sgi) || defined (__alpha)
 #include <alloca.h>
 #else /* not sparc */
 #if defined (MSDOS) && !defined (__TURBOC__)

Doxygenに含まれるscanner.cpp は、このパッチを適用して生成しました。

Sun コンパイラ問題

Sun の C++ Workshop 6 Compiler によってコンパイルした場合、Doxygen は適切に動作しないようです。 作者にはこのコンパイラがあるSolaris環境がないため、現象確認できません。 GNUコンパイラを使えば解決します。また、Sun patch 111679-13でも解決できると報告されています。

--static を付けて configure を実行すると、

Undefined                       first referenced
 symbol                             in file
dlclose                             /usr/lib/libc.a(nss_deffinder.o)
dlsym                               /usr/lib/libc.a(nss_deffinder.o)
dlopen                              /usr/lib/libc.a(nss_deffinder.o)

となります。

Makefile.doxygen および Makefile.doxytag の TARGETルールの後ろに -Bdynamic を手で追加してやれば、この問題は解決します。

$(TARGET): $(OBJECTS) $(OBJMOC) 
        $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) -Bdynamic

GCC コンパイラ問題

GNU コンパイラの古いバージョンは、127 より大きい文字コードの文字を含む文字列定数について関する問題があります。 従って、translator_xx.h ファイルのうちのいくつかはコンパイルで失敗します。 英訳だけを使うつもりであれば、--english-only オプションを付けてconfigureしてください。

OpenBSD などのプラットフォームでgccに-O2オプションを付けてコンパイルすると、config.cpp などのファイルをコンパイルする間にメモリーを使い切ってしまう可能性があります。 configure オプションとして --debug を使うか、Makefile内で特定のファイルについて-O2 を省略してください。

これらコンパイラのバグのため、バージョン2.95より前のgccでは破損したバイナリが出来上がることがあります。

Dot 問題

イメージマップの生成方法が変更になったため、Doxygen の1.2.17以前のバージョンでは、graphviz の1.8.8以降のバージョンで正しく動作しません。 この非互換性の結果、HTML 内に生成されたグラフが適切にクリックできません。 doxygen 1.3 (訳注: 1.3 以降) では、少なくとも graphviz 1.8.10 以降を使うことを推奨します。 Doxygen1.4.7でフォント問題を回避するには、GraphViz 2.8以上を推奨します。

Red Hat 9.0 問題

make の実行後に以下のエラーが発生したのであれば、

tmake error: qtools.pro:70: Syntax error

make を実行する前に、まず

export LANG=

を実行してください。

Windows でのソースからのコンパイル

バージョン1.5.0以降では、Visual Studio 2005用のビルドファイルが提供されています。Developer StudioのExpressバージョンでもDoxygenをコンパイルできます。 他に、CygwinMinGWを使えば、Unix方式でコンパイルできます。

Doxygenをコンパイルするには、まずVisual StudioのC++コンパイラをダウンロード、インストールしなければなりません。Microsoftは、ユーザに.NET製品を使うよう導きたい意向があるため、Expressバージョンの使用を少し難しくした点があります。DoxygenなどネイティブなWin32アプリケーションをビルドするための適正な環境をセットアップするには、この手順を踏まなければなりません。

次に、unxutils(参照http://sourceforge.net/projects/unxutils)をインストールします。このパッケージには、 flexbisonが含まれていて、DoxygenのCVSスナップショット(公式のソースリリースは、前生成された状態で提供される)を使う場合に必要です。 unxutilsをダウンロードしたら、c:\tools\unxutilsなどに解凍します。 次に、コントロールパネル-システム-詳細-環境変数を選んで、次の設定をします。

  • PATH変数の最初にc:\tools\unxutils\usr\local\wbin;を追加
  • BISON_SIMPLEを作り、c:\tools\unxutils\usr\local\share\bison.simpleを設定します。

次に、Doxygenのtarファイルをダウンロードして、c:\toolsなどにおきます。 そして、コマンドプロンプトで次の手順で解凍します。

cd c:\tools
gunzip doxygen-x.y.z.src.tar.gz
tar xvf doxygen-x.y.z.src.tar

以上で、doxygenと doxytagをビルドできる環境ができます。

doxygen-x.y.zフォルダのwinbuildフォルダにDoxygen.slnがあります。これをVisual Studioで開きます。 ソリューションエクスプローラでDoxygenかDoxytagプロジェクトを右クリックし、ReleaseかDebugかを指定して、ビルドを実行します。

Doxywizardをコンパイルするには、現在Qtバージョン3(http://www.trolltech.com/products/qt/qt3)が必要です。 商用ライセンスがなければ、オープンソースバージョン(http://qtwin.sourceforge.net/qt3-win32/compile-msvc-2005.php)でDoxywizardをビルドできますが、作者は使っていません。

Doxygenの特定の機能を有効にするには、他にもインストールする必要のあるツールがあります。次のセクションで説明します。

Windows でのバイナリのインストール

Doxygenは自己解凍形式で提供されていますので、インストールはきわめてシンプルです。ダイアログに従うだけです。

インストール後、GraphViz(バージョン2.8以上を強く推奨します)。Doxygenでは GraphVizパッケージの dotツールを使って図を見栄えよくできます。設定ファイルの HAVE_DOTオプションを見てください。

HTML形式の圧縮ファイル(GENERATE_HTMLHELPを参照)を生成するには、Microsoft HTML help workshopが必要です。Microsoftでダウンロードして下さい。

Qt形式の圧縮ヘルプファイル(QHG_LOCATION)を生成するには、Qtのqhelpgeneratorというジェネレータが必要です。Qt Software Downloadsからダウンロードして下さい。

PDF出力が必要な場合や、科学技術の公式を使う場合は、LaTeX 及び Ghostscript をインストールしてください。

LaTeXにはディストリビューションがいくつもあります。Doxygenと相性のよく人気なのはMikTexXemTex です。

Ghostscriptは Sourceforgeからダウンロードできます。

LaTeX と Ghostscriptをインストールしたら、latex.exe, pdflatex.exe, gswin32c.exeへのパスをコマンドの検索パスに通さなければなりません。確実に動作するか確かめるには、この手順に従ってください。

Doxygen の開発に使用したツール

Doxygen は Linux & MacOSX で、以下のオープンソース・ツールを使用して、開発およびテストされました。

  • GCC version 3.3.6 (Linux) と 4.0.1 (MacOSX)
  • GNU flex version 2.5.33 (Linux) と 2.5.4 (MacOSX)
  • GNU bison version 1.75
  • GNU make version 3.80
  • Perl version 5.8.1
  • VIM version 6.2
  • Firefox 1.5
  • Trolltechの tmake version 1.3(ディストリビューションに含む)
  • teTeX version 2.0.2
  • CVS 1.12.12
のセクションに行く / インデックス に戻る

This page was last modified on 14 Feb 2011.
© 1997-2010 Dimitri van Heesch, first release 27 oct 1997.
© 2001 OKA Toshiyuki (Japanese translation).
© 2006-2011 TSUJI Takahiro (Japanese translation).
© 2006-2011 TAKAGI Nobuhisa (Japanese translation).