Windows 默认对路径长度限制为 260 字符。对于开发者,建议解除这个限制,可以避免很多意想不到的问题。修改注册表并重启电脑即可解锁长度限制:

  • 位置:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  • 名称:LongPathsEnabled
  • 类型:REG_DWORD DWORD(32位)值
  • 数据:1

虽然方法不难,但确实折腾了我很久。事情是这样的:

我在封装 nappgui-rs 类库时使用 cmake-rs 从源码编译 nappgui。在写代码时,可以正常调用 cmake-rs 编译类库,但是 cargo publish 前自测却报错了,这让我百思不得其解。我盲目自己尝试了多种方法,基于关键词搜素了大量网页,都没把这个问题解决。前前后后搁置了四五个月,这也导致我的类库没有成功上传到 crates 被其他人使用。

今天,被我意外的使用报错信息中的 "is not able to compile a simple test program." 在 cmake-rs 的 issue 中(见 链接)找到了原因。其实,我有印象在搜索中找到过类似的答案。但是我跳过了这项检查,想当然的认为两者不搭边,毕竟是在程序中调用,不是直接在命令行里面调用。没想到,在解锁 Windows 路径长度限制后,这个奇怪的问题便解决了。

有时盲目自信不利于解决问题,反而会把自己带到死胡同里面,浪费大量时间,所以日后还是要逐渐的以开放的心态来解决问题。

最后修改:2025 年 06 月 26 日
如果觉得我的文章对你有用,请随意赞赏