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

这篇具有很好参考价值的文章主要介绍了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中直接删掉此配置信息。文章来源地址https://www.toymoban.com/news/detail-834556.html

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

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

到了这里,关于C++项目开发编译踩坑记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用vscode导入keil工程,开发MCU项目

    刚工作,遇到一个GD32F4的项目,工程代码量很大。使用传统的keil开发,在阅读和编辑代码时十分不方便。使用vscode+Embedded插件,能够解决这个问题。 安装下图红色框内的三个扩展即可(汉化插件可选)。 首先点击“设置工具链” 然后点击Keil MDK 选择keil安装目录下的TOOLS.I

    2024年02月02日
    浏览(76)
  • 中移链合约常用开发介绍(五)合约项目编译

    01 目的 本文档介绍了工程化开发智能合约项目的工程树目录,介绍了各个文件夹及文件的含义和用途。本文档将沿用之前文章中实现的地址簿合约内容,以初始化项目为例展开介绍,适合刚接触合约开发的开发人员用来了解智能合约项目,帮助其快速了解以及上手智能合约。

    2024年02月08日
    浏览(43)
  • Unity Android Studio 混合开发实践(Unity工程导入Android项目进行开发)

    最近接到一个任务是将一个unity开发的游戏接入到现有的Android项目里,然后在现有的App实现点击一个按钮打开游戏,并且在游戏内提供一个可以退出到App的按钮。 整体需求是很明确的,难点主要有两个: 我们公司是做应用开发的,没有任何游戏开发的技能储备。 在游戏中需

    2024年02月11日
    浏览(60)
  • Flutter 项目添加 IOS 小组件开发记录

    突然接到一个需求,需要我们在 IOS APP 中添加 widget 小组件,用来展示项目项目数据信息。大领导的需求没法拒绝,只能摸着石头过河,开干! 由于项目用的是 Flutter 来搭建的,所以需要申请台 mac 电脑安装一遍开发环境。具体的准备我之前写过一篇 前端角度快速理解 Flutt

    2024年04月25日
    浏览(36)
  • Java 版 spring cloud 工程系统管理 +二次开发 工程项目管理系统源码

        工程项目各模块及其功能点清单 一、系统管理     1、数据字典:实现对数据字典标签的增删改查操作     2、编码管理:实现对系统编码的增删改查操作     3、用户管理:管理和查看用户角色     4、菜单管理:实现对系统菜单的增删改查操作     5、角色管理:管理

    2024年02月03日
    浏览(59)
  • java版工程项目管理系统源码+系统管理+系统设置+项目管理+合同管理+二次开发

      工程项目各模块及其功能点清单 一、系统管理     1、数据字典:实现对数据字典标签的增删改查操作     2、编码管理:实现对系统编码的增删改查操作     3、用户管理:管理和查看用户角色     4、菜单管理:实现对系统菜单的增删改查操作     5、角色管理:管理和

    2024年02月11日
    浏览(46)
  • spring boot3单模块项目工程搭建-上(个人开发模板)

      ⛰️个人主页:     蒾酒 🔥系列专栏 :《spring boot实战》 目录 写在前面 上文衔接 常规目录创建 common目录 exception.handle目录 result.handle目录 controller目录 service目录 mapper目录 entity目录 test目录 写在最后 本文介绍了springboot开发后端服务,单模块项目工程搭建。单模块搭建出

    2024年04月29日
    浏览(38)
  • spring boot3单模块项目工程搭建-下(个人开发模板)

    ⛰️个人主页:     蒾酒 🔥系列专栏 :《spring boot实战》 目录 写在前面 上文衔接 常用依赖介绍以及整合 web组件 测试组件 样板代码生成 数据库连接器 常用工具包 面向切面编程 ORM框架 数据连接池 接口测试、文档导出 缓存中间件 参数校验 认证鉴权 基础功能完善 跨域问

    2024年04月28日
    浏览(37)
  • 探索现代前端工程化工具与流程:提升开发效率和项目质量

    前端工程化是指利用各种工具和技术来提高前端开发效率、代码质量和团队协作的一种开发模式。 它的背景和发展与前端技术的演进密切相关。 在过去,前端开发主要依靠手工编写 HTML、CSS和JavaScript 来构建网页。随着互联网的发展和前端技术的不断演进,前端的工作变得更

    2024年02月14日
    浏览(67)
  • web前端开发教学视频,VUE项目配置ESlint后一些报错解决方式,4个改变你编程技能的小技巧

    ‘no-delete-var’: 2, // 禁止出现未使用的变量 ‘no-unused-vars’: [2, {‘vars’: ‘local’, ‘args’: ‘none’}], // 禁止出现空函数 ‘no-empty-function’: 2, // 禁用不必要嵌套块 ‘no-lone-blocks’: 2, // 这条规则强制执行v-on指令样式,您应该使用速记。 ‘vue/v-on-style’: [2, ‘shorthand’], //*

    2024年04月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包