doxygen - Doxygen 无法使用 Graphviz 生成依赖图
问题描述
我正在尝试使用 Doxygen 生成我的 c++ 程序的文档,并且我也希望拥有依赖关系图。所以我安装graphviz-2.40.1
了,graphviz的路径如下图所示:
which dot
/usr/local/bin/dot
我打开了HAVE_DOT
to YES
,也设置了DOT_PATH
to /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
了,但没有用。仍然给了我同样的错误。
有什么帮助吗?谢谢!
解决方案
您已经提到了“解决方案”,它说:
官方安装好像有bug。运行命令'dot -c'后,问题已解决。
你使用的版本不支持png,所以:
- 搜索包含 png 格式的可执行文件
- 根据 graphviz dot 代码自己创建一个可执行文件
- 在 doxygen 中使用另一种格式(当您使用 HTML 作为输出时,您可以使用例如
svg
asDOT_IMAGE_FORMAT
。(参见例如http://doxygen.nl/manual/customize.html#minor_tweaks_dynsection中的文档)
推荐阅读
- python - 从数据框列中提取异常
- python - 使用 Google Sheet 公式计算归一化分数
- java - 如何在Android中创建一个实例来调用一个活动的方法到一个服务类?
- php - 单个 MySQL 列中的首选项列表
- docker - 将环境变量添加到包含以下内容的 Docker 文件中:
- ansible - 有没有办法在 Ansible 中显示已注册的处理程序或侦听器?
- rendering - 我们可以根据到相机的距离来控制 Viewer 中的渐进式渲染吗?
- java - 线程在终止之前不会输出流
- c++ - 使用 g++ 编译包含根库的 c++
- javascript - 节点获取映射错误 - 无法读取未定义的属性“映射””