当前位置: 首页 > article >正文

Win10配置VSCode的C/C++编译环境

GNU(编译器工具集合)包含了g++、gcc和gdb等编译器。MinGW(Minimalist GNU for Windows)是一个适用于Windows操作系统的最小化的GNU工具集,它包括了GCC编译器(包括g++)以及其他一些必要的库和工具。MinGW使得Windows用户能够在命令行环境下编译和运行C/C++程序,无需依赖复杂的IDE(集成开发环境)。它提供了与Linux环境下相似的编译和开发体验。

安装目录

  • 一、安装MinGW
  • 二、安装VSCode
  • 三、VSCode安装C/C++扩展
  • 四、配置编译环境
    • 4.1、配置编译器
    • 4.2、配置构建任务
    • 4.3、配置调试设置
  • 五、运行项目

一、安装MinGW

下载和解压MinGW:x86_64-8.1.0-release-win32-seh-rt_v6-rev0
官网目前没有该版本,只有Github仓库有。

二、安装VSCode

属于安装最简单的软件之一,安装软件的入门级训练。
在这里插入图片描述

三、VSCode安装C/C++扩展

推荐三个扩展包,第一个是必装的。
在这里插入图片描述

四、配置编译环境

4.1、配置编译器

Ctrl+Shift+P,在调出的命令面板中 输入 c/c++, 选择 c/c++:编辑配置(UI)c/c++:Edit Configurations(UI) 进入配置。
在这里插入图片描述
需要改两个地方:

  1. 编译器路径——>改为 MinGW解压路径中g++.exe的完整路径;
  2. IntelliSense模式——>改为 gcc-x64。

在这里插入图片描述
在这里插入图片描述配置完成后,此时在侧边栏可以发现多了一个.vscode文件夹,并且里面有一个c_cpp_properties.json文件,内容如下,说明上述配置成功。

在这里插入图片描述

4.2、配置构建任务

Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”
在这里插入图片描述
然后选择MSBuild
在这里插入图片描述

复制其他项目的task.json文件,修改3个红圈的内容:

  1. command属性为g++的目录;
  2. cwd的属性为mingw的bin目录;
  3. detail属性也为g++的目录。

在这里插入图片描述

4.3、配置调试设置

1、点击菜单栏的Debug-->Start Debugging
在这里插入图片描述
2、此时会弹出一个警告框,提示你是否需要安装个JSON插件,点击查询即可。
在这里插入图片描述
3、然后安装json插件。
在这里插入图片描述
4、重新Ctrl+Shift+P选择C++(Windows)

在这里插入图片描述
5、有可能会出现下面的报错,只需要disable和enable刚刚安装的json插件即可。
在这里插入图片描述
6、正常生成的launch.json文件如下:
在这里插入图片描述
7、preLaunchTask要填上一步task.json的label的内容,miDebuggerPath 要填写 MinGW解压路径中gdb.exe的完整路径。

在这里插入图片描述

五、运行项目

1、选择主类文件main.cpp,然后按F5启动Debugging。终端会输出一大堆编译日志,然后输出cout的内容,如果正常运行说明编译环境OK。
在这里插入图片描述

2、还可以打断点,然后进行调试,在左侧状态栏可以看到每一步的变量值的变化情况。
在这里插入图片描述

我强烈推荐4本可以改变命运的经典著作:

  1. 《寿康宝鉴》在线阅读白话文
  2. 《欲海回狂》在线阅读白话文
  3. 《阴律无情》在线阅读白话文
  4. 《了凡四训》在线阅读白话文

http://www.kler.cn/a/559766.html

相关文章:

  • 【PX4日志解析报错】pyulog工具解析日志出错
  • 一文讲解Redis中的混合持久化
  • 学术论文项目网站搭建教程【Github】
  • mysql的源码包安装
  • 【杂谈】-强化学习遇见链式思维:将大型语言模型转变为自主推理代理
  • Python 函数(传递任意数量的实参)
  • jmeter 与大数据生态圈中的服务进行集成
  • 软件工程和系统分析与设计
  • 算法随笔_58: 队列中可以看到的人数
  • leetcode - hot100 - python - 专题二:双指针
  • 【STM32 基于PID的闭环电机控制系统】
  • C语言学习,插入排序
  • Linux内核,slub分配流程
  • go 接口interface func (m Market) getName() string {
  • KubeKey一键安装部署k8s集群和KubeSphere详细教程
  • 2025-2-21 leetcode刷题情况(二叉树的修改与构造)
  • JAVAweb-JS基本数据类型,变量,DOM,pop,push函数,事件
  • 基于计算机视觉的手势识别:让机器理解我们的手势语言
  • DeepSeek安装部署笔记(一)
  • VMware中安装的ubuntu虚拟机屏幕由居中设置为最大化