4

当前项目的结构非常复杂(我无法更改)并且它使用 CMake。但是我很难创建一个可以编译的 Makefile。

主要问题是:如果我的项目存储在D:\a\b\c\,一些源代码D:\a\b\c\src\d\e和构建文件夹中D:\a\b\c\build,cmake 会创建一些文件夹,如D:\a\b\c\build\SubProjectName\CMakeFiles\DetailedSubPrjectName.dir\D_\a\b\c\src\d\e. 我想你明白了——结果路径恰好超过 260 个字符。

我无法展平项目结构(不是我的代码)。完成这项工作的唯一方法是将整个项目放在文件夹结构中更高的位置 - (非常)靠近驱动器根目录(我有大约 10-15 个字符可用)。但这并不是真的可以接受,有时需要更多的字符。

有什么方法可以说服 CMake 在构建目录中创建平面结构或使用更长的路径名(在 WinXP 中)?还是别的什么想法?

4

2 回答 2

0

您可以尝试使用CMAKE_USE_RELATIVE_PATHS 稍微缩短您的路径,但显然它有不工作的记录......</p>

无论如何,问题来自 Windows 而不是 CMake,您最好尝试增加系统上的最大路径长度。不幸的是,我在这里帮不了你。

但是,CMake 可能应该知道 Windows XP 上的路径长度限制,所以我建议您提交一个错误,以便 CMake 开发人员可以做一些事情。

于 2012-04-13T16:19:13.677 回答
0

避免这个问题的最好方法是使用subst b: c:\my\long\source\dir新的 B: 驱动器然后在其上工作。您还必须清除构建目录。

于 2019-09-24T07:18:29.667 回答