Windows的文件命名长度的坑
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能不能对这种 路径问题做个兼容, 如果超长了,报个我能看懂的错,报错把编译器版本都改了,也是无语。
Windows的文件命名长度的坑相关推荐
- Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子
Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...
- windows 11文件夹共享踩坑记录
在windows 2008R2做文件共享一次就成功了,没有什么特别之处.但是我在windows11中做文件共享,请求的时候.总是提示: 登录失败: 未知的用户名或错误密码 解决思路 在网上找答案,以下 ...
- linux和windows文件名称长度限制
Linux文件名称的长度限制是255个字符 windows下全然限定文件名称必须少于260个字符,文件夹名必须小于248个字符. linux下文件数.文件夹数.文件名称长度的各种限制 下面測试都是在没 ...
- Android 文件命名最大长度限制
背景 最近在处理Android 11读写权限时,萌生了个偏门想法,在公有目录下创建文件,使用文件的文件名信息使得不同app之间共享数据 问题 在给文件命名时,出现了以下报错 System.err: j ...
- 利用Linux的文件命名规范在Windows中建立“高权限”文件
我在前面有一篇文章(<关于文件的存储--windows和Linux比较>)大概的介绍了关于在Windows平台和Linux平台文件命名的异同. 在刚才我正在整理一个包含RHEL系统备份的磁 ...
- Linux文件命名数字开头,linux 文件名命名规则
Linux 系统区分英文字符的大小写.命名目录和命名文件的规则是相同的.除非有特别的原因,否则用户创建的文件和目录名要使用小写字符.大多数的 Linux 命令也使用小写字符. Linux ...
- widnows命令行常用命令使用 和 windows创建文件,写内容到文件
widnows命令行常用命令使用 和 windows创建文件,写内容到文件 1 查看windows命令行常用命令的使用文档 1.1 查看windows中命令行命令 1.2 windows查看某个指定命 ...
- Eclipse - CDT使用GDB调试C++的问题-无源文件命名(No source file named)
CDT使用GDB调试C++的问题(No source file named) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/170 ...
- 询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复
Once a week we share three of the questions we've answered from the Ask HTG inbox with the greater r ...
最新文章
- spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient
- Linux 打包及压缩命令使用方法总结
- 猴子管理法则(网络文摘)
- HashMap的工作原理
- eclipse 与 tomcat 的那些路径
- c++远征之继承篇——多重继承,多继承,虚继承,多继承时的重复定义解决方法
- python 邮箱验证_Python-发送邮件验证码
- 关系到了冰点_VIP090:关系到了冰点
- Vscode ROS 环境搭建
- 建造游乐园(play)
- ADO 错误:0x80004005,连接字符串属性无效
- wps xml转换表格_如何转换Excel格式?学会这几招?1键即可完成转换
- Bootstrap—各式各样的按钮
- iris数据集——决策树
- linux学习(三)输入输出重定向和管道功能、cat命令、more命令
- commonAncestor
- 心动C++情牵汉洛塔
- python处理doc格式文档
- Android应用内社区SDK技术架构浅析
- 打开 codeblocks 出现 ntvdm.exe 停止工作