VscodeC/C++环境配置

引言

vscode是一款非常好用的编辑器,集成了大量的插件,具有很高的自由度,因此广受大家的喜爱。但是他本身是不带编译器的,因此如果要使用vscode来编译C/C++程序的话,我们需要额外安装编译器并且为vscode配上环境。

编译器的安装

编译器包我们使用msys2
可以跟着网站的步骤下载即可
下载好之后需要配置环境变量
在这里插入图片描述
可以看到,我们编译需要的g++.exe,gcc.exe,gdb.exe都是在这个路径中,所以把它加入环境变量即可。

Vscode项目的配置

打开vscode
打开需要建立项目的文件夹(切记!!!路径千万不能有中文!!!)
在这里插入图片描述
按ctrl+shift+P,在搜索框中输入tasks,选择配置默认生成任务
在这里插入图片描述
选择g++.exe
这时候文件夹中会生成一个.vscode的文件夹,下面会生成一个tasks.json的文件,默认状态如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f827452cec3f4ecf97f3e2f08b95b388.png在这里插入图片描述
然后这时候就可以编译我们的程序了
打开我们要编译的程序,ctrl+F5运行会出现如下现象
在这里插入图片描述
这时候选择第一个,就可以发现项目已经跑起来了
但这时候是不能debug的,按vscode左边的debug图标
在这里插入图片描述
点击创建launch.json,就会在.vscode下面生成一个launch.json文件
在这里插入图片描述
点击右下角的添加配置在这里插入图片描述
点击(gdb)启动
在这里插入图片描述
需要修改两个地方:

  • "program"后面的值,修改成tasks.json文件中“args”的最后一项“$ {fileDirname}\${fileBasenameNoExtension}.exe”,意思是我们启动的时候就启动这个程序
  • "miDebuggerPath"后面的值,修改成gdb所在的地址,直接复制tasks.json中g++的地址然后把最后改成gdb就可以了。
    在这里插入图片描述
    就像这样
    另外,在configurations的最后加入一个"preLaunchTask"的项,表示启动之前我们要重新生成一次.exe文件,不然会出现保存了但是没有重新编译的问题。这个项的值是tasks.json中"label"的值。如下:
    在这里插入图片描述

然后就可以正常使用c++了,只要项目的根目录下有一个.vscode文件夹,项目中的所有c++或c文件都可以编译了。

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

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

相关文章

Observability:监控与可观察性不同的 3 个原因

作者:来自 Elastic Elastic Observability Team 监控和可观察性通常可以互换使用,但它们并不完全相同。 监控是可观察性的重要组成部分,但可观察性远远超出了传统监控实践的范围。 主要区别:监控从各个组件收集数据 —— 时间和内…

堆的基本操作(c语言实现)

1.堆的基本操作 1.1定义堆 typedef int HPDataType;//堆中存储数据的类型typedef struct Heap {HPDataType* a;//用于存储数据的数组int size;//记录堆中已有元素个数int capacity;//记录堆的容量 }HP;1.2初始化堆 然后我们需要一个初始化函数,对刚创建的堆进行初…

Element-plus修改input的placeholder文字颜色

需求 代码 .el-input__inner::placeholder {color: #666f8d !important; }

vs 2022 Xamarin 生成 Android apk

再保存,如果没有生成apk就重启软件 再试一次

软件测试小妙招:详细解读 postman接口测试导入导出操作

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 postman中的集合脚本,环境变量、全局变量全部都可以导出,然后分享给团队…

Python开源工具库使用之运动姿势追踪库mediapipe

文章目录 前言一、姿势估计1.1 姿态关键点1.2 旧版 solution API1.3 新版 solution API1.4 俯卧撑计数 二、手部追踪2.1 手部姿态2.2 API 使用2.3 识别手势含义 参考 前言 Mediapipe 是谷歌出品的一种开源框架,旨在为开发者提供一种简单而强大的工具,用…

三.搜索与图论(未完结)

DFS(深搜) 之前写过三篇关于dfs的 练习总结: 基础算法--递归搜索DFS练习总结(上)-CSDN博客 基础算法--递归搜索DFS练习总结(中)-CSDN博客 基础算法--递归搜索DFS练习总结(下)-CSDN博客 以下题目均为 补充练习: P1460 [USACO2.1] 健康的荷斯坦奶牛 Healthy Holsteins …

【华为】AC直连二层组网隧道转发实验配置

【华为】AC直连二层组网隧道转发实验配置 实验需求拓扑配置AC数据规划表 AC的配置顺序AC1基本配置(二层通信)AP上线VAP组关联--WLAN业务流量 LSW1AR1STA获取AP的业务流量 配置文档 实验需求 AC组网方式:直连二层组网。 业务数据转发方式:隧道转发。 DHC…

MacOS搭建docker本地私有镜像库

相关环境 macOS: bigsur 11.7.8 docker desktop: 4.22.0 docker engine: 24.0.5 准备工作 本机已经安装好docker desktop,未安装的自行参考其他教程。如果不能翻墙,可以修改本地的镜像地址,可在docker desktop 设置中的docker engine中修…

Excel Module: Iteration #1 EasyExcel生成下拉列表模版时传入动态参数查询下拉数据

系列文章 EasyExcel生成带下拉列表或多级级联列表的Excel模版自定义校验导入数据(修订) 目录 系列文章前言仓库一、实现1.1 下拉元数据对象1.2 构建下拉元数据的映射关系1.3 框架方式1.3.1 框架实现1.3.2 框架用例模版类加载下拉业务导出接口 1.4 EasyExcel方式1.4.1 EasyExce…

Redis(Jedis和SpringBoot整合Redis)

文章目录 1.Jedis1.介绍2.环境配置1.创建maven项目2.pom.xml引入依赖3.新建一个包并创建一个文件 3.Jedis远程连接到Redis1.Redis放到服务器可以连接的前提条件2.为Redis设置密码1.编辑配置文件2.找到 requirepass3.设置密码为root4.重启Redis,在shutdown的时候报错…

计算机网络——Dijkstra路由算法

实验目的 实现基于 Dijkstra 算法的路由软件 实验内容 网络拓扑如图所示 实验过程 先编写开辟应该图的空间,然后给点映射数字,构建图。程序获取用户输入的学号,构建图中边的权值。接下来程序从用户输入获取最短路径的搜索起点&#xff0…

基于C++基础的函数模块

在C中,函数是一段封装了某种功能的代码块,可以在程序的不同地方重复使用。函数定义包含如下组成部分: 函数头:函数头包括函数返回类型、函数名和参数列表。函数返回类型规定了函数返回的数据类型,函数名是函数的唯一标…

Java_从入门到JavaEE_11

一、抽象类及抽象方法 1.认识抽象类及抽象方法 应用场景:当一个方法必须在父类中出现,但是这个方法又不好实现,就把该方法变成抽象方法,交给非抽象的子类去实现 实例: //抽象类 public abstract class 类名{//抽象方…

5月将有17款游戏发布,腾讯的《地下城与勇士:起源》备受关注

易采游戏网5月8日消息,本月将有17款新游戏预计上线,其中14款已正式定档,游戏市场即将迎来一场盛大的狂欢。在众多备受期待的游戏中,有两款游戏尤其引人注目,它们分别是来自库洛和腾讯的《地下城与勇士:起源…

学习方法的重要性

原贴:https://www.cnblogs.com/feily/p/13999204.html 原贴:https://36kr.com/p/1236733055209095 1、 “一万小时定律”的正确和误区 正确: 天才和大师的非凡,不是真的天资超人一等,而是付出了持续不断的努力&…

武汉星起航:成功挂牌上股交,优势尽显启新程,共绘创业投资梦

在金秋十月的尾声,武汉星起航电子商务有限公司迎来了一个重要的历史时刻——于2023年10月30日在上海股权托管交易中心成功挂牌展示,正式登陆资本市场。这一里程碑式的跨越,不仅标志着武汉星起航在跨境电商领域的卓越实力,更彰显了…

MAC地址冲突案例

1、问题描述:WiFi-A网段做了策略路由,引流到另一台设备,连接WiFi-A后通过DHCP获取到了地址却无法上网,此时排查思路是什么? (1)、排查方法: 看到网关通信是否正常 第一次获取地址正…

mysql中varchar与bigint直接比较会导致精度丢失以至于匹配到多行数据

在mysql中,我们都知道如果一个索引字段使用了函数或者计算那么查询的时候索引会失效,可是我相信在联表的时候我们只会关注两个表关联字段是否都创建了索引,却没有关注过这两个字段的类型是否一致,如果不一致的话索引是会失效的&am…

Windows系统完全卸载删除 Node.js (包含控制面板找不到node.js选项情况)

1.打开cmd命令行窗口,输入npm cache clean --force 回车执行 2.打开控制面板,在控制面板中把Node.js卸载 移除之后检查环境变量是否也移除:点击Path,点击编辑。 把环境变量中和node有关的全部移除,然后点击确定。 3.重…