【问题标题】:Doxygen fails to use Graphviz to generate dependency graphDoxygen 无法使用 Graphviz 生成依赖图
【发布时间】:2020-04-14 05:04:41
【问题描述】:

我正在尝试使用 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,但没有成功。仍然给了我同样的错误。

有什么帮助吗?谢谢!

【问题讨论】:

  • 您使用的是哪个平台?哪个版本的 doxygen?
  • 我在 ubuntu 18.04.3 上使用 doxygen-1.8.13

标签: doxygen graphviz dot


【解决方案1】:

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

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

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

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

【讨论】:

  • 谢谢,问题解决!我将DOT_IMAGE_FORMAT = 从png 更改为svg,然后一切正常。而对于HTML,如果浏览器是IE+9,则需要将HTML_FILE_EXTENSION设置为xhtml。
猜你喜欢
  • 2015-09-15
  • 2012-03-18
  • 2012-12-15
  • 2015-12-10
  • 1970-01-01
  • 2013-07-29
  • 2022-08-19
  • 2015-04-26
  • 2023-01-07
相关资源
最近更新 更多