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


    回车与换行

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

    编译失败

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

    在这里插入图片描述

    回车与换行

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

    解决方法

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

    在这里插入图片描述

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

    在这里插入图片描述

    分析

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

    小结

    • 如果是windows、Linux 环境代码的混合开发管理,一定要注意【回车】【换行】引起的问题
    • 最早被这个问题【坑过】的时候,是默认【回车换行】自动转换引起本地代码正常,git push 到服务器,别人拉取回来,编译不过,发现lib库文件增加了【回车换行】引起无法使用
  • 相关阅读:
    S7-200 SMART PLC 子程序功能块(阀门控制)
    matlab实现3个y轴绘图
    pycharm基本使用(常用快捷键)
    二进制基础
    nodejs + vue环境搭建
    微服务-网关设计
    AppCube视角浅析: 艾瑞咨询《2022年中国低代码行业研究报告》
    使用docker安装本地pdf工具集合Stirling-PDF
    华为防火墙基本配置ASPF与Server-map表
    Elasticsearch:运用 Python 实时通过 Logstash 写入日志到 Elasticsearch
  • 原文地址:https://blog.csdn.net/tcjy1000/article/details/126193043