0
点赞
收藏
分享

微信扫一扫

文件回车换行引起的Visual Studio 2022编译失败问题的分析


回车与换行

  • 当前由于需要windows与Linux环境同时使用Git 代码管理,所以,在Windows上的Git 安装时,选择不转换文件,也就是文件的回车换行保持不变

编译失败

  • 在其他的电脑上,编译没有问题,新电脑上,安装Visual Studio 2022后,编译,发现有个文件无法编译通过,并且,比对代码,没有明显的不同

文件回车换行引起的Visual Studio 2022编译失败问题的分析_Visual

回车与换行

  • 通过Visual Studio,可以指定这个文件的【回车换行】类型,注意回车与换行不只是文件末尾的\r\n的不同,而是整个文件的每行代码都不同

解决方法

  • 默认是​​\n​​​ 的,直接改为​​\r\n​​后,发现编译通过

文件回车换行引起的Visual Studio 2022编译失败问题的分析_visual studio_02

  • windows 上的Visual Studio 2022,对于 只有​​\n​​​ 的代码文件,编译造成失败,需要改为 ​​\r\n​​​,也就是代码行为:​​CRLF​
  • Git 上显示整个文件都被修改了,但是修改的内容是:【代码行】末尾的回车换行不一致

文件回车换行引起的Visual Studio 2022编译失败问题的分析_回车换行_03

分析

  • 之前的电脑,大都是Git 在git pull 或 git checkout时,采用了自动换行,也就是 ​​\n​​​ 的自动转换为 ​​\r\n​​​,这有个好处就是默认​​\n​​ 的文件,在windows上打开,可以正常的换行显示,否则整个文件显示为一行。
  • Git 自动换行有个【坏处】就是把Linux shell 脚本也自动换行了,造成 Linux shell 脚本无法使用

小结

  • 如果是windows、Linux 环境代码的混合开发管理,一定要注意【回车】【换行】引起的问题
  • 最早被这个问题【坑过】的时候,是默认【回车换行】自动转换引起本地代码正常,​​git push​​​ 到服务器,别人拉取回来,编译不过,发现​​lib​​库文件增加了【回车换行】引起无法使用


举报

相关推荐

0 条评论