【问题标题】:CMake cannot follow symlinks on Windows 10CMake 无法在 Windows 10 上遵循符号链接
【发布时间】:2016-06-07 23:11:25
【问题描述】:

在我的 CMakeLists.txt 中,我试图安装一个包含符号链接的文件夹。它以前在 Windows 7 上运行良好,但在切换到 Windows 10 后它就坏了。通过缩小问题范围,我发现 Windows 10 上的符号链接可能是根本原因。 我写了一小段cmake来测试它:

file(GLOB all_files *)
foreach(each_file ${all_files})
    if (IS_SYMLINK ${each_file})
        get_filename_component(each_file_real_path ${each_file} REALPATH)
    endif()
endforeach()

如果我在带有符号链接的文件夹中运行 cmake 脚本,IS_SYMLINK 可以正常工作,但get_filename_component(REALPATH) 总是返回相同的输入路径而不是真实路径。

有什么方法可以解决或解决它吗?谢谢!

【问题讨论】:

  • Win10中的符号链接是否与Win7相同?
  • @joel 使用 dir 列出目录中的所有文件。看起来链接类型是一样的。
  • @HaoCS 有关于这个问题的更新吗?你解决了这个问题吗?如果是这样,怎么做? (也许提供这个作为答案)
  • @macetw 不。我放弃并复制文件而不是使用符号链接。
  • @HaoCS 你在最新版本的 CMake (3.14.4) 上试过这个吗?

标签: windows build cmake filesystems


【解决方案1】:

考虑使符号链接更深一层,指向更高一层的目录。如果目录符号链接比您指向的位置更高,则 Cmake 不会有问题。

这只是一种解决方法。目前 cmake 中仍有一个明确的错误。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 2015-11-06
    • 2012-09-19
    • 2015-10-31
    • 2019-09-17
    • 1970-01-01
    相关资源
    最近更新 更多