【发布时间】:2021-09-21 21:02:24
【问题描述】:
我有一个项目使用 CMake 并在 Windows 上一组深度嵌套的目录中构建,通常由于路径长度过长而失败。
基于这个答案 - How to set the Maximum Path Length with CMAKE? - (以及下面@Tsyvarev 的评论 - Maximum path lengths with CMake - 我把它放在项目根目录中的 CMakeLists.txt 中并靠近文件顶部(即在任何其他处理):
set(CMAKE_OBJECT_PATH_MAX 250)
set(CMAKE_OBJECT_NAME_MAX 245)
(由于构建始终在 Windows 上,因此在前面问题的答案中我没有打扰 Unix 测试。)
但是还是失败了。
我有其他机制来缩短路径长度,所以我知道这是这里的问题 - 但我正在寻找一般建议,以向用户提供有关如何设置 CMake 构建以确保他们避免此问题的一般建议 - 我的理解是 CMake 将使用散列方案来避免长路径名,但这似乎没有发生。
那么这样的机制是否存在,如果存在我如何访问它?
【问题讨论】:
-
变量的正确名称是CMAKE_OBJECT_PATH_MAX,带有
CMAKE_前缀。 -
谢谢你 - 但不幸的是仍然没有像我预期的那样工作