vscode配置C/C++环境(Windows)

2023-11-13

1.总体流程

vscode.jpg

2.下载CodeBlocks

下载该CodeBlocks的主要目的是为了使用其自带的MinGW,对于初学者在配置环境这步会少遇到一些坑。
下载网址:http://www.codeblocks.org/downloads/binaries/

  • Windows系统选择Binary releases中的第一个,如下图所示。
    image.png

  • 对于不清楚自己的电脑中是不是有编译器的同学来说,就下载codeblocks-20.03mingw-setup.exe就OK。(听哥的,准没错_

image.png

3.安装CodeBlocks

  • 按照下面的步骤一步一步的安装就可以啦。

image.png

image.png

image.png

image.png

4.配置环境变量

  • 打开codeblocks的安装目录,找到MinGw文件夹中的bin,复制地址路径,我的路径是D:\vs\codeblocks\MinGW\bin,将这个路径加入环境变量中即可。
  • 环境变量加入方法
鼠标右键我的电脑
点开高级系统设置
点击环境变量
找到系统变量中的path
点编辑
新建环境变量
复制地址路径
  • 实图演示如下图
    image.png

5.下载与安装vscode

下载网址:https://code.visualstudio.com/ 点击Download for Windows。

image.png

  • 安装时,直接点击下一步,到下图步骤时注意全选即可。

image.png
- 安装后建议重启一下电脑,避免出现莫名其妙的bug。

6.下载cpp插件

  • 打开vscode,使用快捷键ctrl+shift+X打开拓展框,搜索c++,点击安装即可,大约需要半分钟,安装结果如下图所示。

image.png

7.配置.vscode文件夹(至关重要!!!)

  • 为了保证环境配置成功,建议同学们都在桌面建立一个test文件夹,并在该文件夹中新建一个main.cpp文件,然后右键test文件夹通过vscode打开,不清楚的同学可见下图(截屏不了,手机拍的*——*)。

image.png

  • 打开后如下图,点击main.cpp,写一个hello world 可直接复制下列代码:
#include<iostream>
using namespace std;

int main()
{
    std::cout<<"hello world";
   // getchar(); //有妙用,建议写一下
    return 0;    
}

image.png

  • 接下来,如图所示,将launch.json文件代码用下列代码替换:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "D:\\vs\\codeblocks\\MinGW\\bin\\gdb.exe",  // 修改为你自己的 MinGW path
      "preLaunchTask": "g++",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

image.png

  • 注意miDubuggerPath这一地址要和你安装的地址路径一致,需要将地址改为双反斜杠“\”,还有就是最后要看一下你的bin文件中到底是gdb32.exe还是gdb.exe,视情况更改

接下来,如图所示,在.vscode文件夹下新建tasks.json文件(文件名必须一致),粘贴下列代码:

{
    "version": "2.0.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

image.png

8.调试cpp文件

  • 如图所示,返回至main.cpp文件界面,按F5运行,则会在终端出现hello world

image.png

  • 若想在cmd窗口出现hello world,如图所示,则需要把main.cpp文件中的 getchar();行的注释去掉(相当于断点调试),同时修改launch.json 文件中"externalConsole":true

image.png

至此,整个vscode安装完毕,有不清楚的同学可以在评论区留言,如果觉得这篇教程对你有帮助的话请给Jocker点个赞鼓励一下,谢谢。

厚积才能薄发 ,少年的心中要憋着一股劲!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode配置C/C++环境(Windows) 的相关文章

  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 重载<<的返回值

    include
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • AQS原理解析及源码分析

    目录 1 介绍下AQS几个重要的组件 2 内部成员变量state 3 同步队列NODE 4 等待队列 condition AbstractQueuedSynchronizer又称为队列同步器 后面简称AQS AQS的核心思想是 如果被请求的
  • 对比梯度下降和正规方程解性能

    现在用导数的方式模拟线性回归中的梯度下降法 首先再来回顾一下梯度下降法的基础 梯度下降法不是一个机器学习算法 而是一个搜索算法 梯度下降法用在监督学习中 梯度下降法的过程 对比模型输出值和样本值的差异不断调整本省权重 直到最后模型输出值和样
  • Leetcode题解——26.树的子结构

    题目地址 剑指 Offer 26 树的子结构 力扣 LeetCode 目录 一 解题思路 一 大体思路 二 Search函数 三 Judge函数 二 代码实现 三 拓展思考 一 解题思路 一 大体思路 对于二叉树类的题目 一般会使用递归或层
  • YOLOv5 tensorRT C++代码详解之engine的读取

    在tensorRT中 engine模型是对yolov5序列化后的结果 在推理的时候需要进行反序列化才能进行推理 那么第一步就是读取engine文件 ifstream介绍 engine文件的读取需要用到ifstream 需要导入头文件 inc
  • SpringBoot最简单好用的导出导入功能,拿来即用

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 拿来吧你 一 接口说明 二 依赖 三 导出工具类 四 导入工具类 五 实体类的改造 BaseEntity java 六 控制层使用 七 效果 数据库表 1 下载模板
  • C++中三种产生随机数的方法

    第一种方法 使用时间做为生成随机数的种子 include
  • 190705 安卓-对抗AndResGuard的重打包

    换了一个apk实验后 apktool b f p xxx也不行 仍然报资源错误 看了一下可能是鹅厂出的AndResGuard工具 会将资源文件夹 Res xxx重命名为 r x类的目录 导致资源解析出错 针对这个混淆有shakaApktoo
  • volatile 的理解

    文章目录 前言 通过一系列的问题 了解volatile 总结 前言 在面试的时候 经常会遇到多线程的问题 然后面试官会提到 你是怎么做到线程安全的 然后就会涉及到关键字volatile 这个是在面试过程中高频率出现的 所以还是有必要对它进行
  • 岭回归(Ridge Regression)及实现

    岭回归 Ridge Regression 及实现 https blog csdn net google19890102 article details 27228279 一 一般线性回归遇到的问题 在处理复杂的数据的回归问题时 普通的线性回
  • linux驱动调试--段错误之栈信息分析

    转自 http blog chinaunix net xmlrpc php r blog article uid 29401328 id 4923529 接着上一篇来分析一下Oops的栈 s3c2440平台 关于调试源码和整个Oops信息请
  • LeetCode-1318. Minimum Flips to Make a OR b Equal to c

    Given 3 positives numbers a b and c Return the minimum flips required in some bits of a and b to make a OR b c bitwise O
  • 图像清晰度评价指标(Python)

    最近在毕业设计中涉及了有关增强图像清晰度的实验 需要一些指标来进行实验结果的评估 刚好网上有个总结的非常好的博客 见参考文献 1 但没有实现方法 因此 我将在我的博客中用Python实现 评估方法实现 所有函数的具体说明都在参考文献 1 里
  • QMap和QHash类

    QMap和QHash具有非常相似的功能 它们的差别仅在于 1 QHash具有比QMap更快的查找速度 2 QHash以任意的顺序存储数据项 而QMap总是按照键 key的顺序存储数据 3 QHash的键类型 Key必须提供operator
  • Softmax分类和两层神经网络以及反向传播的代码推导

    发现草稿箱里还有一篇很早之前的学习笔记 希望可以帮助到有需要的童鞋 目录 序 Softmax分类器 反向传播 数据构建以及网络训练 交叉验证参数优化 序 原来都是用的c 学习的传统图像分割算法 主要学习聚类分割 水平集 图割 欢迎一起讨论学
  • python随机大小写字符串_python 随机产生特定类型字符的函数(大写、小写、数字)...

    1 创建一个 Randomcharacter py 文件 作为模块文件供测试或实现程序调用 内容如下 from random import randint generate a random character between ch1 an
  • 基于51单片机 数控恒流源设计 可调电流源

    设计硬件组成 基于51单片机 数控恒流源设计 可调电流源基于单片机可调电流源设计 项目定制觉得选题不错 分享一下 由51单片机 LCD1602液晶 变压器 整流桥 开关电源LM2596 TLC5615 LM358 TIP31C 按键 TL4
  • ThinkPhp6+Vue前后端分离系统案例

    项目介绍 一款 PHP 语言基于ThinkPhp6 Vue ElementUI等框架精心打造的一款模块化 插件化 高性能的前后端分离架构敏捷开发框架 可用于快速搭建前后端分离后台管理系统 本着简化开发 提升开发效率的初衷 目前框架已集成了完
  • 秒杀linux下系统调用fork()面试题

    秒杀linux下系统调用fork 面试题 第一道题 在之前博客也写过这道题 http blog csdn net chdhust article details 8535915 题目 请问下面的程序一共输出多少个 1 2 3 4 5 6
  • 华为前副总裁李玉琢:华为无法培养出企业家

    1995年我刚进入华为不久 有人问我四通与华为的区别时 我脱口而出 四通能培养企业家而华为不能 这一点从任正非迟迟无法找到自己的 替手 就可见一斑 曾国藩说 做大事者 以寻找替手为第一要义 任正非也并非不知道这些道理 但是他的某些意识以及管
  • vscode配置C/C++环境(Windows)

    1 总体流程 2 下载CodeBlocks 下载该CodeBlocks的主要目的是为了使用其自带的MinGW 对于初学者在配置环境这步会少遇到一些坑 下载网址 http www codeblocks org downloads binari