Vistual Studio Code 安装与配置C/C++环境

news2024/11/26 21:32:56

1. 下载VScode
2. 安装cpptools工具
3. 下载MinGW
4. 配置环境变量
5. 使用简单的.cpp文件配置C++环境
6. 运行

注:本文所有的地址配置要根据读者的实际情况来,不要照文章复制!!!

  1. 下载VScode
    下载链接:https://code.visualstudio.com/Download

安装过程:一路下一步,安装很简单,安装路径看个人
2. 安装cpptools工具
打开vscode,按照以下步骤安装
在这里插入图片描述
3. 下载MinGW
下载地址:https://sourceforge.net/projects/mingw-w64/files/

下载的文件:进入网站后不要点击 “Download Lasted Version”,往下滑,找到最新版的 “x86_64-posix-seh”。

安装MinGW:下载后是一个7z的压缩包,解压后移动到你想安装的位置即可。我的安装位置是:D:\2Software\mingw64
(详细MinGW安装过程如下)
MinGW的安装
相比在 Linux 平台上安装 GCC 编译环境,在 Windows 平台上安装 MinGW 是比较简单的,只需经历以下几个过程。

  1. 打开 MinGW 官网https://osdn.net/projects/mingw/,下载 MinGW 安装包
    官网下载MinGW
  2. 下载完成后,会得到一个名为 mingw-get-setup.exe 的安装包,双击打开它,可以看到如下的对话框:
    开始安装 MinGW
  3. 直接点击“Install”,进入下面的对话框:
    自定义 MinGW 的安装位置
  4. 读者可根据自己操作系统的实际情况,自定义 MinGW 的安装位置(例如我选择将其安装到 E 盘),然后点击“continue”,进入下面的对话框:
    下载并安装 MinGW 配置器
  5. 进入安装 MinGW 配置器的界面,读者耐心等待安装完成(显示 100%)即可。安装完成之后,我们会得到一个名为 “MinGW Installer Manager” 的软件,借助它,我们可以随时根据需要修改 GCC 编译器的配置。点击“continue”,会自动弹出配置界面,如下所示:

配置 GCC 编译器
为使 GCC 同时支持编译 C 语言和 C++,需勾选图中标注的 2 项。我们知道,GCC 还支持其它编程语言,读者可借助此配置器,随时实际需要安装自己需要的编译环境。勾选完成后,在菜单栏中选择Installation -> Apply Changes,弹出如下对话框:
开始安装选中的编译环境
选择“Apply”。然后耐心等待,直至安装成功,即可关闭此界面。注意,整个安装过程中可能会提示某些组件下载失败,但没关系,后续需要时,可以通过 MinGw Installer(图 4 所示)安装界面中的 “All Packages”选项中,手动选择指定的安装包进行安装。

  1. 在安装完成的基础上,我们需要手动配置 PATH 环境变量。依次右击计算机(我的电脑) -> 属性 -> 高级系统设置 -> 环境变量,建议读者在当前用户的 PATH 环境变量中增加 MinGW 的安装路径,例如我将其安装到了E:\MinGW文件夹中,因此 PATH 环境变量的设置如下:
    配置 PATH 环境变量
  2. 由此,打开命令行窗口(通过在搜索栏中执行 cmd 指令即可),输入gcc -v指令,如果输出 GCC 编译器的具体信息,则表示安装成功,例如:

成功安装 GCC 编译环境
MinGW的使用
通过上面的安装,我们就可以在当前 Windows 平台上编译、运行 C 或者 C++ 程序了。

这里以运行一个 C 语言程序为例(存储路径为:D:\demo.c):

#include <stdio.h>
#include <stdlib.h>
int main(){
    printf("Hello, World!");
    system("pause");
    return 0;
}

在此基础上,在命令行窗口中执行如下指令:

C:\Users\mengma>gcc D:\demo.c -o D:\demo.exe

其会在 D 盘生成一个 demo.exe 可执行文件,找到该文件并双击,即可看到程序的执行结果:

Hello, World!
  1. 配置环境变量
    配置对象:MinGW,所以把你刚刚安装MinGW的路径拷贝一下
    配置环境变量:在此以win10为例,到达第6步之后,前面打开的窗口都要按下确定,否则会失败。
    在这里插入图片描述
    ❁❁❁ 验证一下环境变量是否配置成功

按下 win + R,输入cmd,回车键之后输入g++,再回车,如果提示以下信息[1],则环境变量配置成功。如果提示以下信息[2],则环境变量配置失败。

[1]:g++: fatal error: no input files

[2]'g++' 不是内部或外部命令,也不是可运行的程序或批处理文件。
  1. 使用简单的.cpp文件配置C++环境
    (1)新建空文件夹Code

(2)打开VScode --> 打开文件夹 --> 选择刚刚创建的文件夹Code
  在这里插入图片描述
(3)新建test.cpp文件(以最简单的 HelloWorld.cpp 为例)

#include <stdio.h>
#include <windows.h>
int main()
{
    printf("Hello World\n");
    system("pause");
    return 0;
}

(4)进入调试界面添加配置环境,选择 C++(GDB/LLDB),再选择 g++.exe,之后会自动生成 launch.json 配置文件
在这里插入图片描述
在这里插入图片描述
  (5)编辑 launch.json 配置文件
{
“version”: “0.2.0”,
“configurations”: [
{
“name”: “g++.exe build and debug active file”,
“type”: “cppdbg”,
“request”: “launch”,
“program”: “${fileDirname}\ f i l e B a s e n a m e N o E x t e n s i o n . e x e " , " a r g s " : [ ] , " s t o p A t E n t r y " : f a l s e , " c w d " : " {fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": " fileBasenameNoExtension.exe","args":[],"stopAtEntry":false,"cwd":"{workspaceFolder}”,
“environment”: [],
“externalConsole”: true, //修改此项,让其弹出终端
“MIMode”: “gdb”,
“miDebuggerPath”: “D:\2Software\mingw64\bin\gdb.exe”,
“setupCommands”: [
{
“description”: “Enable pretty-printing for gdb”,
“text”: “-enable-pretty-printing”,
“ignoreFailures”: true
}
],
“preLaunchTask”: “task g++” //修改此项
}
]
}
注:配置文件中注意一下Path字段中的内容要与自己的实际情况一致,我当时使用的时候配置文件内容是空的,所以复制上这些配置文件的这些代码又修改了地址
  (6)返回.cpp文件,按F5进行调试,会弹出找不到任务"task g++",选择 “配置任务”,会自动生成 tasks.json 文件

(7)编辑 tasks.json 文件
{
“version”: “2.0.0”,
“tasks”: [
{
“type”: “shell”,
“label”: “task g++”, //修改此项
“command”: “D:\2Software\mingw64\bin\g++.exe”,
“args”: [
“-g”,
f i l e " , " − o " , " {file}", "-o", " file","o","{fileDirname}\ f i l e B a s e n a m e N o E x t e n s i o n . e x e " ] , " o p t i o n s " : " c w d " : " D : 2 S o f t w a r e m i n g w 64 b i n " , " p r o b l e m M a t c h e r " : [ " {fileBasenameNoExtension}.exe" ], "options": { "cwd": "D:\\2Software\\mingw64\\bin" }, "problemMatcher": [ " fileBasenameNoExtension.exe"],"options":"cwd":"D:2Softwaremingw64bin","problemMatcher":["gcc”
],
“group”: “build”
}
]
}
【注】: launch.json 文件中 “preLaunchTask” 的值 必须与 tasks.json 文件中 "label"的值一致。值的设置看个人喜好,保持默认也是OK的。
6. 运行
  返回 HelloWorld.cpp 文件,按F5调试,发现完全OK了!
  在这里插入图片描述

借鉴于博文
以及博文
和自己的报错体验
简单记录 防止以后用到~

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

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

相关文章

浏览器调用本地DLL的方法

要在浏览器中调用本地DLL&#xff0c;常见的方法是使用插件。但是为了安全&#xff0c;现在有的浏览器对插件开发做了限制&#xff0c;不让插件调用外部DLL。比如说Chrome&#xff0c;为了调用外部的DLL&#xff0c;我们只能使用早期的chrome版本。 还有一种方法就是在电脑上安…

linux编辑器的使用(gcc,g++)

前言 gcc/g是一个编译器。 我们程序的翻译有四个步骤1.预处理(头文件展开&#xff0c;条件编译&#xff0c;宏替换&#xff0c;去注释)2.编译(c语言汇编语言)3.汇编(汇编->可重定位目标二进制文件&#xff0c;不可以被执行的&#xff0c;bin.obj)----只是把我们自己的代码进…

下载Windows ISO镜像的方法 (超详细 适合新手入门)

前言 &#x1f4dc;“作者 久绊A” 专注记录自己所整理的Java、web、sql等&#xff0c;IT技术干货、学习经验、面试资料、刷题记录&#xff0c;以及遇到的问题和解决方案&#xff0c;记录自己成长的点滴 目录 前言 一、镜像介绍 1、大概介绍 2、详细介绍 二、下载Window…

Solon 1.12.4 发布

一个更现代感的 Java "生态型"应用开发框架&#xff1a;更快、更小、更自由。不是 Spring&#xff0c;没有 Servlet&#xff0c;也无关 JavaEE&#xff1b;新兴独立的开放生态 &#xff08;已有150来个生态插件&#xff09; 。主框架仅 0.1 MB。 相对于 Spring Boot…

JVM学习总结,全面介绍运行时数据区域、各类垃圾收集器的原理使用、内存分配回收策略

参考资料&#xff1a;《深入理解Java虚拟机》第三版 文章目录一&#xff0c;运行时数据区域&#xff08;基础重中之重&#xff09;二&#xff0c;垃圾收集器与内存分配策略1&#xff09;对象已死2&#xff09;再谈引用3&#xff09;对象回收4&#xff09;内存分代收集理论&…

【HBase入门】10. HBase高可用、HBase架构、常见问题汇总

HBase高可用 考虑关于HBase集群的一个问题&#xff0c;在当前的HBase集群中&#xff0c;只有一个Master&#xff0c;一旦Master出现故障&#xff0c;将会导致HBase不再可用。所以&#xff0c;在实际的生产环境中&#xff0c;是非常有必要搭建一个高可用的HBase集群的。 HBase…

【Maven】聚合与继承

目录 1. 聚合工程 2. 聚合工程开发 3. 继承关系 4. 继承关系开发 5. 聚合与继承的区别 1. 聚合工程 什么叫聚合&#xff1f; 聚合&#xff1a;将多个模块组织成一个整体&#xff0c;同时进行项目构建的过程称为聚合 聚合工程&#xff1a;通常是一个不具有业务功能的”空…

如何使用Excel列提取合并器提取多个表格中的一列数据然后合并到一个文件

在我们日常工作中&#xff0c;你可能经常遇到有几十个或更多的Excel文件&#xff0c;每个文件中都包含了相同类型的信息例如姓名、邮箱、地址等等&#xff0c;但它们却在不同文件中不同的列。当你想进行数据汇总或合并的时候&#xff0c;把不同表中同样类型的数据合并在一起&am…

一款用于PE文件绑定免杀的工具: Shellter

简介 Shellter是一种动态二进制程序壳程序&#xff0c;它可以在现有的可执行文件中隐藏恶意软件。它使用动态链接库技术来实现恶意代码的注入&#xff0c;并且可以在不修改现有的可执行文件的情况下进行注入。这使得它非常难以检测&#xff0c;因为它不会改变文件的哈希值或数…

[数据结构基础]排序算法第二弹 -- 选择排序、堆排序和冒泡排序

目录 一. 选择排序 1.1 选择排序的实现思路 1.2 选择排序函数代码 1.3 选择排序的时间复杂度分析 二. 堆排序 2.1 堆排序的实现思路 2.2 堆排序函数代码 2.3 堆排序的时间复杂度分析 三. 冒泡排序 3.1 冒泡排序的基本思想 3.2 冒泡排序函数代码 3.3 冒泡排序的时间…

【微服务】Gateway统一网关

更多内容点击查看微服务学习专栏 一.引入 我们为什么需要网关&#xff1f; 当我们所有的服务摆在那里允许任何人发送请求访问是不是不太安全&#xff1f; 不是所有的业务都是对外公开的&#xff01; Gateway网关是我们服务的守门神&#xff0c;是所有微服务的统一入口&…

机器自动翻译古文拼音 - 十大宋词 - 桂枝香 金陵怀古 王安石

桂枝香金陵怀古 北宋王安石 登临送目&#xff0c;正故国晚秋&#xff0c;天气初肃。 千里澄江似练&#xff0c;翠峰如簇。 归帆去棹斜阳里&#xff0c;背西风&#xff0c;酒旗斜矗。 彩舟云淡&#xff0c;星河鹭起&#xff0c;画图难足。 念往昔、繁华竞逐&#xff0c;叹门外…

【Node.js实战】一文带你开发博客项目之初识Express(安装Express,处理路由,中间件机制)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;秋招&#xff09; &#x1f680;未…

JAVA SE复习(第2章 Java基础语法)

本文笔记来自硅谷柴林燕老师的笔记 只为自己看笔记方便使用 不做他用第2章 Java基础语法2.1 注释&#xff08;annotation&#xff09;&#xff08;掌握&#xff09;注释&#xff1a;就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释&#xff0c;…

2023年web类第一期总结

&#x1f340;本人简介&#xff1a; 吉师大一最爱逃课的网安混子、 华为云享专家、阿里云专家博主、腾讯云自媒体分享计划博主、 华为MindSpore优秀开发者、迷雾安全团队核心成员&#xff0c;CSDN2022年运维与安全领域第15名 &#x1f341;本人制作小程序以及资源分享地址&am…

计算机相关专业混体制的解决方案(国企之银行与券商)

文章目录1、各大银行1.1 银行的分类1.2 信息科技部&#xff08;工作内容&#xff0c;招聘条件&#xff0c;待遇&#xff09;2、各大券商2.1 证券公司待遇2.1 证券公司要求3、其他金融3.1 保险公司3.2 其他金融国企之银行与券商的适用对象&#xff1a; 如果你技术好&#xff0c;…

队列--专题讲解

文章目录模拟队列queue头文件定义基本操作循环队列queue优先队列priority_queue银行大厅排队训练挑战模拟队列 先进先出 队列大概模样 代码截屏&#xff1a; queue 头文件 #include <queue>定义 //队列 queue<int> q;基本操作 //向队尾插入一个元素q.push()…

24考研数学每日一题(带解析)

题目来源于武老师的每日一题&#xff0c;答案是自己做的&#xff0c;不太严谨&#xff0c;仅供参考 2022年11月1日 知识点&#xff1a;函数定义域 答案&#xff1a; 函数定义域是指自变量x的取值范围&#xff0c;不可以把x1作为自变量&#xff0c;x才是自变量&#xff0c;同…

高级数据结构:树状数组详解(c++实现 求解动态数组区间和问题)

文章目录引入树状数组c完整代码引入 什么是树状数组&#xff1f;&#xff1f;&#xff1f; 解决数据压缩里的累积频率&#xff08;Cumulative Frequency&#xff09;的计算问题&#xff0c;现多用于高效计算数列的前缀和&#xff0c; 区间和&#xff0c;这样的问题可以使用树…

蓝桥杯重点(C/C++)(随时更新,更新时间:2023.1.27)

点关注不迷路&#xff0c;欢迎推荐给更多人 目录 1 技巧 1.1 取消同步&#xff08;节约时间&#xff0c;甚至能多骗点分&#xff0c;最好每个程序都写上&#xff09; 1.2 万能库&#xff08;可能会耽误编译时间&#xff0c;但是省脑子&#xff09; 1.3 蓝桥杯return 0…