• 文件回车换行引起的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库文件增加了【回车换行】引起无法使用
  • 相关阅读:
    LabVIEW Modbus通讯稳定性提升
    移动攻防-检测非标准调用和如何防止反射
    电影产业的数据洞察:爬虫技术在票房分析中的应用
    kibana操作es使用DSL查询
    Platypus:快速、廉价且强大的大模型
    dist.init_process_group() 卡住超时导致报错
    大饼简记.
    [资源占用] CPU GPU
    20+ 波卡生态项目齐聚 TOKEN2049,参会指南请收好
    基于MATLAB的GPS卫星绕地运行轨迹动态模拟仿真
  • 原文地址:https://blog.csdn.net/tcjy1000/article/details/126193043