C++项目开发编译踩坑记录

git工具配置了autocrlf=input下载的代码换行符默认从CRLF转换为LF,导致在windows桌面开发时,编译C++代码全文报语法错误

问题现象:使用git clone命令从库上下载下来的代码,使用VS 2022编译,全文报语法错误,但是代码他其他同事电脑上都能正常编译通过。
期间一度以为是本人电脑上的C++编译环境配置有问题,尝试过卸载掉VS软件重新安装、新增安装VS组件等的方式,最后都无法解决问题,故排除编译环境,问题出现在本地代码本身上。

问题原因:本人在搞安卓开发工作时,为解决代码提交中换行符不统一问题,做过一个配置,目的是将下载的代码中换行符统一转换为LF,配置方式为在.gitconfig中增加如下信息:
[core]
autocrlf = input
因此,此时git clone后checkout出的本地代码,换行符都将为LF,可通过任一IDE打开代码文件,在页面右下角可看到当前代码文件的换行符编码格式。也可以通过notepad++开发,设置显示换行符,就可以看到每行的换行符到底是什么了。

linux文件的换行符是\n字符(LF),而windows文件的换行符是\r\n两个字符(CRLF)。
对于一个跨平台的C++项目,需要保证编译linux平台产物时换行符为LF,编译windows平台产物时换行符切换为CRLF。
而对于windows桌面应用开发而言,C++代码最后的换行符为LF将导致代码被识别为语法错误,无法编译。

参考:git core.autocrlf 跨平台协作编码问题

解决方法:将input修改为true,或者在.gitconfig中直接删掉此配置信息。

如何使用VS IDE软件解析dmp文件查看代码调用栈

  1. 将dmp文件拖到VS IDE软件窗口;
  2. 配置符号路径:点击页面中配置符号路径按钮,将dll动态库所对应的配套pdb文件所在路径正确配置到调试器的符号路径中;(注意也要选择Microsoft符号服务器选项)
  3. 点击“使用仅限本机进行调试”按钮启动调试;
  4. 调试过程中可能会自动下载Microsoft的dll二进制,请保持网络畅通;
  5. 调试完成后,会在窗口显示dmp错误信息和调用栈信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

API关键词接口的应用范围说明

一、应用场景 适用商家批发选品,价格监控,品牌监控,实地商家进货 二、公共参数 请求地址: https://api-gw.onebound.cn/1688/item_search 三、请求参数 请求参数:q女装&start_price0&end_price0&page1&cat0&…

UE5 C++ UObject实例化

一.创建UObject C类 在MyObject中声明结构体FMyDataTableStruct 在MyPawn里面,先将头文件里包含 MyObject.h 在MyPawn中声明一个UMyObject类型的指针 TSubclassOf 是提供 UClass 类型安全性的模板类。例如您在创建一个投射物类,允许设计者指定伤害类型…

openai chatGPT 原理通俗介绍

引言 近年来,随着深度学习技术的不断发展,自然语言处理(NLP)领域取得了长足的进步。ChatGPT(Generative Pre-trained Transformer)作为一种先进的语言生成模型,在各类对话系统和智能助手中得到…

Stable Diffusion WebUI 常用命令行参数

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 大家好,我是水滴~~ 本文主要讲解 Stable Diffusion WebUI 的一些常用命令行参数,内容详细的介绍了每一种参数的使用,并配有截图,非常适合初学者…

[规章规划]国家数据局-《关于开展全国数据资源调查的通知》要点解析

去年10月份国家数据局成立以后,各地方省级政府数据局纷纷快速挂牌成立。 仅以2024年1月举例,1月5日,江苏省数据局(江苏省政务服务管理办公室)挂牌成立,成为国家数据局正式揭牌后,第一个成立的省…

Web3区块链游戏:创造虚拟世界的全新体验

随着区块链技术的不断发展,Web3区块链游戏正逐渐崭露头角,为玩家带来了全新的虚拟世界体验。传统游戏中的中心化结构和封闭经济体系已经被打破,取而代之的是去中心化的游戏环境和真实所有权的数字资产。本文将深入探讨Web3区块链游戏的特点、…

基于python的家政预约管理系统

功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、详情页、用户中心、家政入驻模块。后台功能包括:总览、家政管理、分类管理…

回答一下 Spring Bean 生命周期的执行流程?

一、问题解析 Spring 生命周期全过程大致分为五个阶段:创建前准备阶段、创建实例阶段、依赖注入阶段、容器缓存阶段和销毁实例阶段。 这张是 Spring Bean 生命周期完整流程图,其中对每个阶段的具体操作做了详细介绍: (把这张图按…

用冒泡排序实现快速排序(qsort函数),指针进阶实例

目录 1、qsort函数是什么 2、冒泡排序实现指针进阶 2.1 主函数 2.2 功能函数声明​编辑 2.3 my_qsort函数介绍 2.4 Swap函数 总结 1、qsort函数是什么 qsort函数是c语言自带的函数,其功能是实现快速排序。我们来看一下他的参数和返回值: 以上就是q…

springboot+flowable 使用方式

创建flowble制定流程图 登录flowalbe 制定流程图 进入建模器应用程序 创建流程图 分配用户 下载流程图 使用springboot 调用flowable /*** 导入流程图老师流程*/Testvoid startTeacherApprover(){Deployment deploy repositoryService.createDeployment().addClasspathRes…

2024年天津市安全员C证证模拟考试题库及天津市安全员C证理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年天津市安全员C证证模拟考试题库及天津市安全员C证理论考试试题是由安全生产模拟考试一点通提供,天津市安全员C证证模拟考试题库是根据天津市安全员C证最新版教材,天津市安全员C证大纲整理…

linux内核视角看零拷贝

一、什么是零拷贝? 在很多性能优化方案中都有提到零拷贝,零拷贝到底是怎么回事,是真的没有数据的拷贝吗?零拷贝(Zero-copy)是一种数据传输技术,旨在减少数据在内核态和用户态之间的复制操作。其…

计算机网络概论和数据通信基础

文章目录 计算机网络概论从物理构成上看,计算机网络包括硬件、软件和协议三大部分计算机网络的功能组成计算机网络的分类网络体系结构分层与体系结构接口、协议和服务数据传送单位OSI模型TCP/IP模型 数据通信基础数字信号调制为模拟信号正交振幅调制QAM 模拟数据编码…

将指定文件夹下的所有文件内容按规则进行替换

当我们遇到想要将某个文件夹及其子文件夹下的文件内容按规矩进行批量替换时,挨个打开文件进行替换会很浪费时间,于是写了这个powershell脚本。 1、首先创建一个XXX.ps1的文件并用记事本打开。 2、将以下代码复制到创建的文件中。 $folderPath "E:&…

JNI实现一组字节数组转IP地址、IP地址转数组的函数

为什么单独实现,这是因为JAVA标准库提供的函数有性能问题,它会走DNS查询有网络IO,而且还是同步阻塞的,无论是客户端还是服务器,这都应该是不被允许的行为。 JNI实现: bytes_to_address_string(byte[] addre…

C++ 遍历map的3中方法

方法1 #include <iostream> #include <string> #include <map> using namespace std;int main() {map<string, string> nameList {{"张三丰", "武当山"},{"张无忌", "光明顶"},{"张二蛋", "…

二叉树基本概念与遍历

什么是二叉树 二叉树不同于别的树&#xff0c;因为他每个节点最多只有两个子节点&#xff0c;而别的树可以有无数个子节点。 所以二叉树就是只最多只有两个子节点的树&#xff0c;一个子节点叫右子节点&#xff0c;另一个子节点叫左子结点 而他们的上一层就是父子节点&#xf…

航班进出港|航班进出港管理系统|基于springboot航班进出港管理系统设计与实现(源码+数据库+文档)

航班进出港管理系统目录 目录 基于springboot航班进出港管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 5、航班信息管理 &#xff08;1&#xff09; 航班信息管理 &#xff08;2&#xff09;起飞降落申请管理 &#xff08;3&#xff09;公告管理 &…

城市智慧驿站是什么?城市智慧驿站有哪些功能

城市智慧驿站作为一种创新性的社会配套设施&#xff0c;开始在多个城市落地使用&#xff0c;引起了社会的关注。 城市智慧驿站是什么&#xff1f;城市智慧驿站是在智慧城市的背景下&#xff0c;城市智慧驿站智慧公厕成为了一种创新性的社会配套建筑。作为景观式模块化建筑&…

UE蓝图 分支(Branch)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 文章目录 系列文章目录一、分支节点功能二、分支节点用法三、分支节点使用场景四、分支节点实现过程五、分支节点相关源码 一、分支节点功能 在Unreal Engine&a…