Windows的文件命名长度的坑 您所在的位置:网站首页 windows的文件名长度必须在多少字符以内 Windows的文件命名长度的坑

Windows的文件命名长度的坑

2024-07-04 23:30| 来源: 网络整理| 查看: 265

1. 背景

折腾Windows的自动化编译,坑有点多,后面搞了Incredibuild并行编译,也遇到了类似的坑。

环境:

Qt5.8.0 + vs2015

Qt5.15.8 + vs2019

之前遇到的问题,包括2015和2019都有这种问题,现象就是本地编译正常,用qtcreator编译没有问题,用vs编译也没有问题,但是用 bat脚本编译就是不通过。

报错也是看不懂,用2019的版本编译的报错如下:

vs2019 error msb8020 the build tools for v141 vs2017

vs2105的报错也是看不懂,不知道vs编译器是怎么做的,还有王法么。。。

2. 解决日志

查了我一天,也没看懂。

最后对比 目录区别,发现文件夹名字比较长。 又继续看了bat脚本编译生成的vcproj,发现里面有目录是相对的路径,如“../../../”这种。

但是用vs2019打开后,发现“../../../”这种相对路径编程绝对路径了,经过之前解决过得vs2015的恶心问题,初步判断是文件夹长度导致的问题。估计是 会有 “d:/folder1/folder2/../.."这种路径,超过了Windows的路径长度限制。编译器也不报这个错,报的都是看不懂的错,也是对Windows蛮无语的。

最后,把文件夹名称改成缩写, 脚本编译也没有问题了,这里有个问题,我这个文件夹名称已经是处于临界值了,如果后面再加层级,也会有这种问题。

之前尝试过设置Windows的文件名长度限制,未果。

对Windows这种设计表示很无语。

3. 建议:

3.1. windows下用vs编译器,尽量控制文件目录深度,编译器和Windows自身的兼容性不好,如果有文件名路径太长,会报些诡异的错,但是用其他编译器可能没问题。让你自我怀疑

3. 2. vs能不能对这种 路径问题做个兼容, 如果超长了,报个我能看懂的错,报错把编译器版本都改了,也是无语。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有