Doxygen 1.8.7 / GraphViz 2.38 兼容性问题

16

我最近从使用 Doxygen 1.8.4 和 GraphViz 2.36 升级到了 Doxygen 1.8.7 和 GraphViz 2.38,但在生成图表时遇到了问题。

在编译期间,我收到了大量的错误信息,格式如下:

错误:运行 dot 出现问题:exit code=-1,command='dot' arguements="myfile.dot" -Tpng -O "myfile.png"

我已经降级到 GraphViz 2.36,并且问题已经消失。

注意:我已经尝试将 DOT_PATH 设为空并将 GraphViz 添加到路径中,但仍然无法解决问题。

目前唯一可行的解决方案是使用 2.36 版本并定义 DOT_PATH 变量。

请检查兼容性问题并提供建议。


我目前无法访问graphviz网站,但是从dot -V命令中,我得到了以下信息:dot - graphviz版本2.30.1(20130214.1330)。您能否将此日期信息发布出来或尝试升级? - albert
我的打字错误。实际版本是2.38,因此是较新的版本。Graphviz网站可用(目前只是非常缓慢)。 - LarryB
我试过使用版本2.38,没有发现任何问题。你可以尝试使用“-d extcmd”参数,同时将“DOT_PATH”设置为正确的目录。你正在使用哪个操作系统?我在Windows上测试。 - albert
我注意到在GraphViz\bin目录中,应用程序是dot.exe。在c:\Program Files\dotnet目录中,我将dotnet.exe复制到dot.exe。我没有收到任何关于找不到DOT工具的Doxygen错误,但是在HTML输出中也没有得到任何绘图。 :-( - Thomas Matthews
5个回答

16

另一种解决方案,不需要编辑您的$path路径,是在配置文件中设置DOT_PATH变量,将其设置为安装dot库的位置(默认路径为Program Files (x86)/Graphviz2.38/bin)。 您可以通过以下两种方式来实现:

  • 使用Doxywizard工具。
    • expert选项卡中,进入dot主题并设置DOT_PATH(请参见doxywizard的截图)。
  • 手动编辑Doxygene配置文件,因此您的doxygeneconfigFile必须有这样一行:

    DOT_PATH = "../Program Files (x86)/Graphviz2.38/bin"


1
在DoxyWizard中设置DOT_PATH变量解决了我的问题!非常感谢。另外,如果有人遇到同样的问题,我已经在CodeBlocks中设置了DoxyWizard配置文件中的DOT,并将DOT二进制路径设置为系统环境变量中的路径,但仍然出现错误。 - Abhinav S

4
我曾使用Doxygen 1.8.6和dot 2.38 (20140413.2041),遇到了与OP相同的错误信息,无法生成图形。尽管dot已经设置在PATH变量中,但这并不足够。解决方法是,我需要明确设置DOT_PATH为正确的目录,在我的情况下是“C:/Program Files (x86)/Graphviz2.38/bin”。请注意,保留了HTML标签。

2
我在使用Doxygen 1.8.10和dot 2.38配合Windows 7,且DOT_PATH为空时遇到了同样的问题。最后发现这只是命令行路径的问题:在运行doxygen的环境中找不到dot实用程序。必须确保dot安装目录列在PATH环境变量中。一个便捷的方法是在调用doxygen之前调用命令dot.exe -V进行检查。然后检查命令行输出以获取点版本消息。
不幸的是,GraphViz实用程序的每个版本都会更改其安装目录,因为它包含版本引用(尽管不可能同时安装两个版本的GraphViz)。在Windows下,您需要手动更新全局PATH设置并重新启动计算机 (!)以确保在所有运行环境中也得到更新。

2

In my case i got this "error: Problems running dot: exit code=1.." solved only after i run

dot -c
which is meant to configure dot plugins (needs write privileges)


1
我也遇到了这个问题。我尝试了网上提到的很多方法,但都失败了。 最终,我降级到了GraphViz 2.38版本,问题就消失了。现在我的doxygen版本是1.8,graphviz版本是2.38。

2
哪个版本的doxygen?1.8不是一个版本,它还有一个数字,比如1.8.20(这是当前版本)。 - albert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接