【问题标题】:sh: dot: command not found + doxygen + Lionsh: dot: command not found + doxygen + Lion
【发布时间】:2011-12-18 14:27:45
【问题描述】:
  • MacOS 版本:10.7.2 (Lion)
  • Doxygen 版本:1.7.5.1
  • Graphviz 版本:2.29

Doxygen 配置:

DOT_PATH = ../../../../Applications/Contents/MacOS/Graphviz
HAVE_DOT = YES
SHORT_NAMES = YES

从日志控制台,第一行给出警告:

警告:在 ../../../../Applications/Contents/MacOS/Graphviz 中找不到点工具

我尝试了各种组合,但警告并没有消失,尽管它确实会生成图像。

使用 9 个并行线程生成点图...
图 1/68 的运行点
sh:点:找不到命令

运行点的问题:退出代码=127,命令='dot',参数='"/Users/salilk/Documents/project/DoxygenDocs/html/a00033.dot" -Tpng -o "/Users/salilk/Documents /project/DoxygenDocs/html/a00033.png"'

在html目录下,.dot文件已经生成,但没有.png。

现在,如果我从终端执行相同的命令,将生成 .png 文件并显示在其 .html 文件中。

来自控制台的另一个错误是:

错误:打开地图文件 /Users/salilk/Documents/A2O Collaborate/DoxygenDocs/html/a00032.map 以包含在文档中时出现问题! 如果您在上次运行失败后安装了 Graphviz/dot,请尝试删除输出目录并重新运行 doxygen。

这和上面的问题有关系吗?

我之前在 Windows 机器上使用过 Doxygen 并且没有出现这些错误,我们是否需要针对 Mac 进行任何特定的配置?

【问题讨论】:

  • 我希望 dot 安装在 /usr/local/bin/dot 中。你检查了吗?如果它在那里使用 DOT_PATH=/usr/local/bin/dot
  • 是的,现在 DOT_PATH = /usr/local/bin/dot。我仍然收到此警告 - 警告:在 /usr/local/bin/dot 中找不到点工具,并且错误与上述相同。
  • 路径真的是 /usr/local/bin/dot 还是 dot 已经是可执行文件了?在这种情况下,尝试 /usr/local/bin
  • @arne 设置 DOT_PATH = /usr/local/bin 有效,谢谢。
  • 我遇到了完全相同的问题。全新安装 Doxygen 和 graphviz,在日志中打开点图和相同的错误消息。在终端中键入 dot 命令从 dot 文件创建了 png 文件,并且“which dot”显示 /usr/local/bin。检查路径(在终端中)还在路径中显示 /usr/local/bin。但是 - 我怀疑 Doxygen 出于某种原因没有使用此路径,因为当我为我的项目修改 Doxygen 文件并设置 DOT PATH = /usr/local/bin 时,图表已正确创建。

标签: doxygen graphviz dot


【解决方案1】:

将 DOT_PATH 设置为:/usr/local/bin

【讨论】:

  • 解决了我在 OS x El Captain、Eclipse Mars 和 Eclox 插件中的问题!
  • 如果您不知道“dot”二进制文件在哪里,请尝试在控制台中运行命令“dot -v”;出现的信息(如果您确实安装了 Graphviz)包括“libdir”完整路径,并且您要查找的“bin”目录将与该路径中的“lib”文件夹位于同一路径。跨度>
【解决方案2】:

将 doxygen.conf 中的 DOT_PATH 设置为空白。这很有效,因为 doxygen 会在你的路径中寻找。

我用 macports 安装了 doxygen,所以 dot 位于 /opt/local/bin/dot

【讨论】:

    【解决方案3】:

    对于那些在他们的 Doxfile 上调用 CMake 的 configure_file() 的人,另一种选择是:

    DOT_PATH = ${DOXYGEN_DOT_PATH}
    

    对我来说,即使 dot 的路径在 $PATH 中,以上是我可以使它工作的唯一方法。去图吧。

    【讨论】:

      【解决方案4】:

      DOT_PATH 必须使用引号设置,否则带有空格的路径将不起作用

      DOT_PATH = "@DOXYGEN_DOT_PATH@"
      

      【讨论】:

      • 看过之后就很明显了 ;) 非常感谢!
      猜你喜欢
      • 2020-09-26
      • 1970-01-01
      • 2016-02-24
      • 2013-01-26
      • 2017-01-29
      • 1970-01-01
      • 2014-08-10
      • 2020-01-28
      • 1970-01-01
      相关资源
      最近更新 更多