我正在尝试使用外部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>
答案 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似乎并不关心地图文件不存在。我没有看到一个控制地图文件生成的明显选项。
抱歉,在原始问题发布几个月之后,我只是部分回答。我来到谷歌搜索相同问题的答案,并希望这至少会让其他人获得没有字幕的序列图。