Doxygen无法识别带有mingw的窗口上的绝对路径



嗨,我正在尝试用cmake+doxygen生成我的文档。如FindDoxygen的cmake文档中所述,输出路径:

[…]将被转换为相对于当前二进制目录的绝对路径

现在在我的构建/Doxyfile.doxygen中,我可以选择绝对窗口路径:

OUTPUT_DIRECTORY = D:/projects/MyProject/build/

但是用这个Doxyfile调用doxygen会产生:

error: Could not create output directory /d/projects/MyProject/D:/projects/MyProject/build/html

我认为这是因为我使用的是mingw,而doxygen不认为windows路径是绝对的,因此试图将cwd连接到它前面。

我的CMakeLists.txt中的相关命令如下所示:

find_package(Doxygen
REQUIRED dot
OPTIONAL_COMPONENTS mscgen dia)
if (DOXYGEN_FOUND)
doxygen_add_docs(Doxygen)
endif()

有人知道怎么解决这个问题吗?

编辑:

  • CMake版本:3.20.2
  • doxygen版本:1.9.1(ec8203f4332e7e7b16b1c85351c7c48d128f924(

第2版:我使用clion来运行使用捆绑版本的CMake。从命令行运行cmake .. && make Doxyfile工作

您遇到的问题可能与如何指定路径有关。

Windows风格的路径如下所示:

OUTPUT_DIRECTORY = D:projectsMyProjectbuild

而MSYS风格的路径看起来是这样的:

OUTPUT_DIRECTORY = /d/projects/MyProject/build

但是,指定一个绝对路径不是一个好主意,尤其是如果您想分发源文件或将其移动/复制到其他地方。最好只指定一个相对于运行doxygen的位置的文件夹,在您的情况下,它可能看起来像这样:

OUTPUT_DIRECTORY = build

相关内容

  • 没有找到相关文章

最新更新