首页 > 解决方案 > Doxygen 无法使用 Graphviz 生成依赖图

问题描述

我正在尝试使用 Doxygen 生成我的 c++ 程序的文档,并且我也希望拥有依赖关系图。所以我安装graphviz-2.40.1了,graphviz的路径如下图所示:

which dot
/usr/local/bin/dot

我打开了HAVE_DOTto YES,也设置了DOT_PATHto /usr/local/bin/

但是,如果我运行doxygen,它无法生成依赖关系图并抛出错误:

Format: "png" not recognized. Use one of: canon cmap cmapx cmapx_np dot dot_json eps fig gv imap imap_np ismap json json0 mp pic plain plain-ext pov ps ps2 svg svgz tk vml vmlz xdot xdot1.2 xdot1.4 xdot_json
error: Problems running dot: exit code=1, command='/usr/local/bin/dot', arguments='"/home/shiqihe/Documents/code/cpp/docs/doxygen/html/dg__main_8cpp__incl.dot" -Tpng -o "/home/shiqihe/Documents/code/cpp/docs/doxygen/html/dg__main_8cpp__incl.png"'

我已经搜索了解决方案并找到了这个:soluiton

我试过sudo dot -c了,但没有用。仍然给了我同样的错误。

有什么帮助吗?谢谢!

标签: doxygengraphvizdot

解决方案


您已经提到了“解决方案”,它说:

官方安装好像有bug。运行命令'dot -c'后,问题已解决。

你使用的版本不支持png,所以:

  • 搜索包含 png 格式的可执行文件
  • 根据 graphviz dot 代码自己创建一个可执行文件
  • 在 doxygen 中使用另一种格式(当您使用 HTML 作为输出时,您可以使用例如svgas DOT_IMAGE_FORMAT。(参见例如http://doxygen.nl/manual/customize.html#minor_tweaks_dynsection中的文档)

推荐阅读