Doxygen 无法使用 Graphviz 生成依赖图

Doxygen fails to use Graphviz to generate dependency graph

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

which dot
/usr/local/bin/dot

我把HAVE_DOT设为YES,同时把DOT_PATH设为/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 但没有成功。仍然给了我同样的错误。

有什么帮助吗?谢谢!

您已经提到了 "solution" 上面写着:

It looks like there is a bug in the official install. After running the command 'dot -c', the problem has been solved.

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

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