无法生成Doxygen图

时间:2015-02-24 18:43:29

标签: c++ uml doxygen mscgen

我正在尝试使用外部Doxygen实用程序与Mscgen绘制交互图。

这是源文件:

/// 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时,从日志中我可以得到与交互图相关的全部内容:&#34;搜索msc文件......&#34;。

最终的Doxygen输出包含一个缺少交互图的占位符,以及&#34;测试交互图&#34;标签。

我必须在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>

1 个答案:

答案 0 :(得分: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似乎并不关心地图文件不存在。我没有看到一个控制地图文件生成的明显选项。

抱歉,在原始问题发布几个月之后,我只是部分回答。我来到谷歌搜索相同问题的答案,并希望这至少会让其他人获得没有字幕的序列图。

相关问题