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的文件命名长度的坑相关推荐

  1. Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子

    Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...

  2. windows 11文件夹共享踩坑记录

    在windows 2008R2做文件共享一次就成功了,没有什么特别之处.但是我在windows11中做文件共享,请求的时候.总是提示: 登录失败: 未知的用户名或错误密码 解决思路 在网上找答案,以下 ...

  3. linux和windows文件名称长度限制

    Linux文件名称的长度限制是255个字符 windows下全然限定文件名称必须少于260个字符,文件夹名必须小于248个字符. linux下文件数.文件夹数.文件名称长度的各种限制 下面測试都是在没 ...

  4. Android 文件命名最大长度限制

    背景 最近在处理Android 11读写权限时,萌生了个偏门想法,在公有目录下创建文件,使用文件的文件名信息使得不同app之间共享数据 问题 在给文件命名时,出现了以下报错 System.err: j ...

  5. 利用Linux的文件命名规范在Windows中建立“高权限”文件

    我在前面有一篇文章(<关于文件的存储--windows和Linux比较>)大概的介绍了关于在Windows平台和Linux平台文件命名的异同. 在刚才我正在整理一个包含RHEL系统备份的磁 ...

  6. Linux文件命名数字开头,linux 文件名命名规则

    Linux 系统区分英文字符的大小写.命名目录和命名文件的规则是相同的.除非有特别的原因,否则用户创建的文件和目录名要使用小写字符.大多数的 Linux 命令也使用小写字符.       Linux ...

  7. widnows命令行常用命令使用 和 windows创建文件,写内容到文件

    widnows命令行常用命令使用 和 windows创建文件,写内容到文件 1 查看windows命令行常用命令的使用文档 1.1 查看windows中命令行命令 1.2 windows查看某个指定命 ...

  8. Eclipse - CDT使用GDB调试C++的问题-无源文件命名(No source file named)

    CDT使用GDB调试C++的问题(No source file named) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/170 ...

  9. 询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复

    Once a week we share three of the questions we've answered from the Ask HTG inbox with the greater r ...

最新文章

  1. spring cloud服务发现注解之@EnableDiscoveryClient与@EnableEurekaClient
  2. Linux 打包及压缩命令使用方法总结
  3. 猴子管理法则(网络文摘)
  4. HashMap的工作原理
  5. eclipse 与 tomcat 的那些路径
  6. c++远征之继承篇——多重继承,多继承,虚继承,多继承时的重复定义解决方法
  7. python 邮箱验证_Python-发送邮件验证码
  8. 关系到了冰点_VIP090:关系到了冰点
  9. Vscode ROS 环境搭建
  10. 建造游乐园(play)
  11. ADO 错误:0x80004005,连接字符串属性无效
  12. wps xml转换表格_如何转换Excel格式?学会这几招?1键即可完成转换
  13. Bootstrap—各式各样的按钮
  14. iris数据集——决策树
  15. linux学习(三)输入输出重定向和管道功能、cat命令、more命令
  16. commonAncestor
  17. 心动C++情牵汉洛塔
  18. python处理doc格式文档
  19. Android应用内社区SDK技术架构浅析
  20. 打开 codeblocks 出现 ntvdm.exe 停止工作

热门文章

  1. 微信小程序用定时器实现倒计时效果
  2. Kotlin上的反应式流-SharedFlow和StateFlow
  3. TCP/UDP、TCP/IP区别
  4. 亚马逊Amazon多账号操作攻略
  5. nofollow标签使用方法
  6. 你要的摄像头检测来啦
  7. android LRUCache解析
  8. java数据结构--hashset
  9. 微信小程序-店内点餐小程序
  10. SQL查询结果加序列号