使用Doxygen和GraphViz时出错:无法打开地图文件。

12
我正在使用从官方网站下载的DMG版本的Doxygen-1.8.7,我正在使用10.9.3 MacOS。我通过macports安装了Graphviz 2.38.0.0。
我使用Doxygen GUI进行配置和运行。如果我选择"use build-in diagram generator",一切都很好。但是当我使用dot工具时,我得到了这个错误:
错误:打开映射文件/Users/pavelantonov/qtProjects/doxygen/result/11-06 1207/html/inherit_graph_21.map以包含在文档中出现问题!
我尝试根据2008年的解决方案更改SHORT_NAMES和FULL_PATH_NAMES,但没有帮助。
GraphViz/bin在路径中。
*.dot名称中没有空格。

1
你写道:“*.dot”文件名中没有空格。但是我看到:“...doxygen/result/11-06 1207/html...”这里有一个空格,或者我错了吗?另外,尝试使用DOT_CLEANUP = NO来查看文件是否存在。 - albert
将路径中的所有空格都删除,包括结果和资源目录(/Users/pavelantonov/qtProjects/doxygen/result/15_06_1108/html/inherit_graph_22.map),以便在文档中包含。结果是相同的。将DOT_CLEANUP更改为NO。这并没有解决问题。附:感谢@PravinS编辑问题。 - Amadey
3个回答

10

我收到了这条消息:“在文档中包含地图文件时出现问题”,如果 doxygen 无法在路径中找到 graphviz/dot。尝试使用 doxyfile 中的 DOT_PATH 显式设置路径。

正如 albert 已经提到的,移除输出路径中的任何空格也是一个好主意。

另一个好主意是完全删除您的输出目录(例如html),并重新生成您的文档。


DOT_PATH 设置为固定值解决了问题。非常感谢,@Jonas。 - Amadey
如果这个不起作用,你可能需要自己进行“白痴检查”——我使用的版本与我的配置文件中的版本不同。x.x - kayleeFrye_onDeck
在Windows中,可以使用双引号(")将DOT_PATH值括起来,以允许包含空格的文件路径。 - gallo
请避免使用引号("),它对我没有起作用, 同时避免在路径前和等号(=)后添加任何空格。例如:DOT_PATH=C:\Graphviz2.38\bin\ - ashish

2
似乎doxygen在激活dot.exe时对空格很敏感。确保您的路径是这样的,或者至少没有空格:

D:/Graphviz2.38/bin

基于Windows 10上Graphviz 2.38的经验。


谢谢您的回复。我在Windows 10上没有遇到过这样的问题,但会记在心里! - Amadey
这不是我在 Windows 7 (64 位) 上的经历。将 DOT_PATH 设置为 C:\Program Files (x86)\Graphviz2.38\bin,一切都如预期地工作。DOxygen 版本为 1.7.3。当然,你的情况可能会有所不同 ;-) - Brad Oestreicher
这对我的Windows 10问题/Doxygen有效。较新的GraphViz失败了。 - Mr00Anderson

1
以下方法适用于我在Windows 10上使用Doxygen 1.8.14的情况。
打开cmd并键入dot -c。然后,删除Doxygen输出文件夹并重新生成它。
确保您的路径中有Graphviz。我的Graphviz安装在C:\Program Files\Graphviz 2.44.1。因此,即使有空格,也没有问题。

你看到了哪些症状?因为你使用了 dot -c,所以:配置插件(将可用的插件信息写入 $prefix/lib/graphviz/config。需要写权限)。乍一看,我觉得你的问题与原始问题不同。删除输出文件夹是必要的,否则 doxygen 会认为文件已经生成(由于 md5 文件)。请注意,当前的 doxygen 版本是 1.8.20。 - albert
我遇到了与上述相同的错误,并且每次删除输出文件夹后都会生成文档。但这对我没有用。所以,我尝试通过cmd运行dot。然后,它提示我使用dot -c。我使用了它,问题得到了解决。我知道1.8.20是最新版本,但由于旧的配置文件,我必须使用它。 - baguvix
通常情况下,旧的doxygen配置文件也可以在新版本中正常工作,没有任何问题。 - albert

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