2、windows环境下vscode开发c/c++环境配置(一)

前言:VSCode是微软出的一款轻量级编辑器,它本身只是一款文本编辑器而已,并不是一个集成开发环境(IDE),几乎所有功能都是以插件扩展的形式所存在的。因此,我们想用它编程,不只是把vscode下载下来就行,还需要安装对应编程语言的扩展以及相应的编译器。同时VSCode也支持非常多的主题和图标,外观比较好看,重要的是VSCode支持各大主流操作系统,包括Windows、Linux和Mac OS。所以就选择它作为自己的一款主要的编辑器来使用。

一、准备

1.1 安装VSCode

进入vscode官网:Visual Studio Code - Code Editing. Redefined

点击右侧下拉箭头,选择自己操作系统下载 ,建议选择stable的安装,下载下来按提示安装就可以。建议选上最后一个,自动配置path路径。另外不要安装在c盘

二、环境配置

安装完成后打开vscode,前5个是默认的,后面的都是博主自己安装的插件后生成的。点击插件管理,在搜索框分别搜索“C/C++”以及“chinese”,安装C/C++插件(必须有)与简体中文插件。

至此,vscode安装以及必备插件安装就完成了,可以关掉vscode了

三、安转编译器-MinGW-w64

vscode是编辑器,其本质可以理解为文本文档,编辑好的程序,需要通过编译器把其翻译成机器可以识别的语言。C/C++的编译器有很多种,大家可自行选择,但网上大部分人都用的MinGW-w64,故以此编译器为例。关于MinGW-w64的介绍及其安装,大家可以参考这篇文章(我会以该文章为基础做总结归纳):https://www.cnblogs.com/ggg-327931457/p/9694516.html

MinGW-w64官网下载地址:

MinGW-w64

不过MinGW-w64 的代码可执行文件被托管存储在 SourceForge 上,在这个页面上就可以直接下载 MinGW-w64 了。

Download mingw-w64-install.exe (MinGW-w64 - for 32 and 64 bit Windows) (sourceforge.net)

MinGW-w64的配置方式大体有两种,一种是通过安装程序进行安装(注意安装位置)。另一种是下载编译好的文件,复制到磁盘中,在电脑系统环境变量中配置好路径即可。

3.1 安装软件方式

第一种方式是通过安装软件的方式进行mingw的安装。从SourceForge上面直接下载安装包--mingw-w64-install.exe。 

Download mingw-w64-install.exe (MinGW-w64 - for 32 and 64 bit Windows) (sourceforge.net)

下载后得到这样一个安装程序,双击进入安装

 

在下面这个界面,你可以根据所要搭建的开发环境,选择不同的选项,从而下载所需的组件。
version--版本,一般选最高版本。
architecture--系统架构,电脑系统是64位的选择x86_64,是32位的则选择 i686。
threads--操作系统接口协议, 如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix。
exception--异常处理模型,推荐seh(64位系统)或dwarf(32位系统)。
build revision--默认值即可

 注意安装目录需是纯英文的,且不含空格(目录可以自定义,但是要记住)

开始下载后可能会需要很久,因为是从外网服务器实时下载的,不要急,慢慢等待即可。(我当时估计下了六七个小时……)
安装完成后即可删除安装包。

安装完成后需要设置系统变量

参考这篇文章

vscode C++开发环境配置教程(教你如何用vscode写C++) - 浅花迷人 - 博客园 (cnblogs.com)

右击“此电脑”——“属性”——“高级系统设置”——“环境变量”——找到“系统变量”中的“Path”条目——“编辑”——“新建”——将你的MinGW-w64下载路径复制到新条目中(格式形如C:\TDM-GCC-64\bin,一定要写到bin这个文件夹)——完成

打开命令提示符(直接在Windows搜索框输入cmd即可找到),输入gcc -v,然后回车,验证是否成功(如果出现十几行乱码一样的东西,则配置环境变量成功)(注意:gcc与-v之间有一个空格!)。出现下面的内容就说明配置成功了。

3.2 编译文件配置路径

这种方式不需要下载安装软件,而是下载编译后的包。下载 mingw,链接x86_64-win32-seh,如下图示。

下拉找到下面的文件

解压下载的 x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z,并将其下面的文件夹 mingw64,拷贝一份存放自己想放的位置,如下图示。

接下来和第一种方式一样,将文件的位置告诉系统

配置环境变量

在电脑左下角的搜索框中,输入编辑系统环境变量,如下图示。

打开环境变量界面,点击下方的系统变量中的 Path,选择编辑,如下图示。

双击path,弹出窗口,点击新建,然后将mingw64下的bin文件夹路径填入。

不确定的情况下,将用户及系统变量的path都填上。

确认环境变量是否安装成功的方式和第一种的方式一样,就不再赘述了。

至此,开发环境算是配置好了,下一步就是使用vscode进行开发了。

四、参考文献 

从零开始的vscode安装及环境配置教程(C/C++)(Windows系统)_vscode搭建编译器环境-CSDN博客
MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 - 『潇洒の背影』 - 博客园 (cnblogs.com)

vscode C++开发环境配置教程(教你如何用vscode写C++) - 浅花迷人 - 博客园 (cnblogs.com)

MinGW gcc下载链接及sjlj、dwarf、seh异同以及gcc安装_mingw 下载x86_64-posix-sjlj-CSDN博客

MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net

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

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

相关文章

面试redis篇-03缓存击穿

原理 缓存击穿:给某一个key设置了过期时间,当key过期的时候,恰好这时间点对这个key有大量的并发请求过来,这些并发的请求可能会瞬间把DB压垮 解决方案一:互斥锁 解决方案二:逻辑过期 提问与回答 面试官 :什么是缓存击穿 ? 怎么解决 ? 回答: 缓存击穿的意思…

桌面便签怎么设置提醒,哪个备忘录便签好?

2024年终于开工了,第一天上班比较迷茫,不知道做什么比较好,这个时候如果有一款简单好用且可提醒的桌面便签软件该多好。那么,桌面便签怎么设置提醒,哪个备忘录便签好? 桌面便签怎么设置提醒,哪个…

2024-02-19(Flume,DataX)

1.flume中拦截器的作用:个人认为就是修改或者删除事件中的信息(处理一下事件)。 2.一些拦截器 Host Interceptor,Timestamp Interceptor,Static Interceptor,UUID Interceptor,Search and Rep…

力扣145 二叉树的后序遍历 Java版本

文章目录 题目描述递归解法代码 非递归解法思路代码 题目描述 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root [] 输出…

NX/UG二次开发—CAM—平面铣边界准确设置方法

大家在对平面铣设置边界时,经常遇到边界方向与自己期望的不一致,有些人喜欢用检查刀路是否过切来判断,但是对于倒角、负余量等一些情况,刀路本来就是过切的。对于多边界,可以根据选择的曲线来起点和面的方向来确定&…

大数据信用报告查询方式一般有几种?哪种比较好?

在了解这个问题之前,想必你对大数据信用与人行信用的区别都是比较清楚了,本文呢就着重讲一下大数据信用报告查询方式有几种,哪种比较好,感兴趣的朋友不妨一起去看看。 大数据信用报告常见的三种查询方式: 一、二维码分…

正则表达式与正则可视化工具:解密文本处理的利器

正则表达式与正则可视化工具:解密文本处理的利器 引言 在计算机科学和软件开发领域,正则表达式是一种强大而灵活的文本处理工具。然而,对于初学者来说,正则表达式的语法和规则可能会显得晦涩难懂。为了帮助初学者更好地理解和学…

Linux系统之iptables应用SNAT与DNAT

一、SNAT: 1.应用环境 局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由) 2.SNAT原理 源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢数据包从内网发送到公网时&#x…

Qt:自定义信号,信号emit,传参问题,信号槽与moc

一、自定义信号,信号emit 1、自定义信号 在头文件中 加入signals: 就可以编写信号 2、emit emit的作用是通知信号发生 二、跨UI控件传参 每次按Dialog添加按钮主控件数字会增长 // .h private slots:void on_btnAdd_clicked(); signals:void sign…

基于Springboot+Vue实现的宿舍管理系统

基于SpringbootVue的宿舍管理系统 1.系统相关性介绍1.1 系统架构1.2 设计思路 2.功能模块介绍2.1 用户信息模块2.2 宿舍管理模块2.3 信息管理模块 3. 源码获取以及远程部署 前言: 在现代教育环境中,学生宿舍的管理显得尤为重要,需要一套能…

OpenCV边缘检测与视频读写

原理 OpenCV中的边缘检测原理主要基于图像梯度的计算,包括一阶梯度和二阶梯度。 一阶梯度:它反映了图像亮度变化的速度。Sobel算法就是一种以一阶梯度为基础的边缘检测算法。它通过计算图像在水平和垂直方向上的梯度来检测边缘。这种方法简单有效&…

领域驱动设计(Domain Driven Design)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、场景和要求二、领域模型关键词1.领域2.子域3.通用语言4.限界上下文5.领域模型6.实体和值对象7.聚合根8.领域服务9.领域事件 总结 前言 Domain Driven Desi…

环信IM Android端实现华为推送详细步骤

首先我们要参照华为的官网去完成 ,以下两个配置都是华为文档为我们提供的 1.https://developer.huawei.com/consumer/cn/doc/HMSCore-Guides/android-config-agc-0000001050170137#section19884105518498 2.https://developer.huawei.com/consumer/cn/doc/HMSCore…

JAVA高并发——人手一支笔:ThreadLocal

文章目录 1、ThreadLocal的简单使用2、ThreadLocal的实现原理3、对性能有何帮助4、线程私有的随机数发生器ThreadLocalRandom4.1、反射的高效替代方案4.2、随机数种子4.3、探针Probe的作用 除了控制资源的访问,我们还可以通过增加资源来保证所有对象的线程安全。比如…

继续教育公需科目试题及答案,分享几个实用搜题和学习工具 #经验分享#经验分享

大学生活是一个充满挑战和机遇的阶段,在这个阶段,我们需要不断提升自己的学习能力和技巧。而寻找适合自己的学习工具也成为了我们必须面对的任务。幸运的是,现在有许多日常学习工具可以帮助我们更好地组织学习、提高效率。今天,我…

SQL Developer 小贴士:显示Trace文件

SQL Developer可以识别trace文件,而无需利用tkprof进行转换。 在数据库服务器上生产trace文件。例如: alter session set tracefile_identifierdemo01_02;alter session set sql_tracetrue;-- your SQL here, for example select * from hr.employees;a…

什么是渲染?渲染有几种类型?渲染100邀请码1a12

渲染是CG作业的最后一步,根据分类依据不同,有以下几个类型: 1、操作响应 根据对渲染结果的响应要求和实现原理不同,渲染可分为离线渲染、实时渲染和混合渲染。离线渲染通常在本地进行,由电脑生成画面,时间从…

TimeDad 简单的PC使用时间控制软件

TimeDad 起因 过年教家里的小朋友玩我的世界,这家伙着了魔,每天霸着电脑,说梦话都是挖矿。 找了time boss破解版用了一段时间,破解失效了。找了一圈软件发现功能都好复杂,要收费的,没办法,娃…

MySQL中SQL语句的执行流程(高频考点)

文章目录 前言SQL语句的执行流程查询语句的执行流程更新语句的执行流程 总结 前言 昨天跟大家讲了MySQL的基础架构(链接:MySQL的基础架构),今天讲一讲我们的高频面试题MySQL中SQL语句的执行流程。 建议看完 MySQL的基础架构 再来…

二维红外流程

x.1 开激光器 先将TDG,TCU,Empower打开,等一分钟后将TDG和Empower的钥匙打到On上; 按顺序先后开MaiTai;ACE;TOPAS;AOM; 测量ACE出光口处功率(3.8w)&#x…