1

外部Mscgenユーティリティ を使用して、 Doxygenとの相互作用図を描画しようとしています。

これはソースファイルです:

/// test.h

/** Interaction diagram.
 * Test.
 *  \msc "Test interaction diagram"
 *      A,B,C;
 *      B->C;
 *      A<-B;
 *  \endmsc
*/

class A {};

class B {};

class C {};

実行可能ファイルをインストールし、mscgen.exeそのパスを環境変数に設定しました。

Doxygen を実行すると、そのログから、相互作用図に関連して「msc ファイルを検索しています...」と表示されます。

Doxygen の最終出力には、欠落している相互作用図のプレースホルダーと、「相互作用図のテスト」というラベルが含まれています。

Doxyfile ファイルに何かが欠けているに違いありません。Doxygenに実行可能ファイルを呼び出させるにはどうすればよいmscgen.exeですか?

生成された PNG ファイルを見ると、Doxygen が探しているものが見つからないため、mscgen.exeまったく実行されていないと思います。

これは、Doxygen によって生成された HTML コード ブロックです。

<div align="center">
<img src="../../msc_inline_mscgraph_1.png" alt="msc_inline_mscgraph_1" border="0" usemap="#msc_inline_mscgraph_1.map">
<map name="msc_inline_mscgraph_1.map" id="msc_inline_mscgraph_1.map"></map>
<div class="caption">
Test interaction diagram</div>
</div>
4

2 に答える 2

1

キャプションを削除してみてください。Windowsでも同じ問題があります。結果を比較して Windows のみの問題かどうかを確認するのに便利な他のプラットフォームはありません。私がする時:

@msc "hello, world"
   a, b;
   a => b;
@endmsc

図は生成されません。キャプションを削除すると、次のようになります。

@msc
   a, b;
   a => b;
@endmsc

図は生成されますが、キャプションはありません。キャプションが存在する場合、次のエラーが表示されます。

エラー: ドキュメントに含めるためのマップ ファイルpath-on-my-local-computer- redacted /docs/html/inline_mscgraph_2.msc.map を開くことができませんでした!

興味深い点は、キャプションがない場合もファイルが生成されないことです。違いは、マップ ファイルが存在しないことを Doxygen が気にしないように見えることです。マップ ファイルの生成を制御する明らかなオプションは見当たりません。

元の質問から数か月後の部分的な回答で申し訳ありません。Google で同じ質問の回答を検索してここにたどり着きました。これにより、少なくとも他のユーザーがキャプションなしでシーケンス チャートを取得できるようになることを願っています。

于 2015-04-20T19:42:15.587 に答える
1

まったく同じ問題があり、msc-part の構文エラーが原因であることがわかりました。エラーがなくなると、すべてうまくビルドできます。

問題を特定するのに時間がかかります。検索すると、同じ問題と解決策を持っている男のスレッド「msc グラフの問題 」にたどり着きました。

[...] msc タグに構文エラーがある場合、生成実行の最後に次のエラー メッセージが表示されます。

エラー: マップ ファイルを開けませんでした [...]

于 2015-08-26T17:13:15.573 に答える