VSCode配置MingW编译调试环境

news2024/9/20 5:59:47

1.MingW简介

MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。

实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。

开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。

2.准备工作

2.1 下载安装MingW

下载1.MingW   2.MingW2

 安装gcc之后,设置环境变量即可

3.配置编译调试 

3.1 tasks.json文件格式如下

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "C/C++: g++.exe 生成活动文件",
            "type": "cppbuild",
            "command": "C:/MinGW/bin/g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${workspaceFolder}/helow.exe"
            ],
            "options": {
                "cwd": "C:/MinGW/bin/"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "detail": "编译器: \"C:/MinGW/bin/g++.exe\""
        }
    ]
}

3.2 c_cpp_properties.json 文件如下:

{
  "configurations": [
      {
          "name": "Win32",
          "includePath": [
              "${workspaceRoot}",
              "C:/MinGW/include/**",
              "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
              "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
              "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
              "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
              "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
              "C:/MinGW/mingw32/include"
          ],
          "defines": [
              "_DEBUG",
              "UNICODE",
              "_UNICODE"
          ],
          "compilerPath": "C:/MinGW/bin/g++.exe",
          "cStandard": "c11",
          "cppStandard": "c++11",
          "intelliSenseMode": "windows-gcc-x64",
          "browse": {
              "limitSymbolsToIncludedHeaders": true,
              "databaseFilename": "",
              "path": [
                  "${workspaceRoot}",
                  "C:/MinGW/include/**",
                  "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
                  "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
                  "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
                  "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
                  "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
                  "C:/MinGW/mingw32/include"
              ]
          }
      }
  ],
  "version": 4
}

3.3 launch.json文件如下

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\helow.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

4.参考文章

vscode安装+配置+使用+调试【保姆级教程】-CSDN博客

整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(主要Windows、简要Linux)_vscode配置c/c++环境-CSDN博客 

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

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

相关文章

92 [递归实现指数型枚举](https://www.acwing.com/problem/content/94/)

从 1∼n1∼� 这 n� 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n�。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。 对于没有选任何…

Spring6(二):IoC容器

文章目录 3. 容器:IoC3.1 IoC容器3.1.1 控制反转(IoC)3.1.2 依赖注入3.1.3 IoC容器在Spring的实现 3.2 基于XML管理Bean3.2.1 搭建子模块spring6-ioc-xml3.2.2 获取bean方式一:根据id获取方式二:根据类型获取方式三&am…

大语言模型|人工智能领域中备受关注的技术

个人主页:【😊个人主页】 系列专栏:【❤️其他领域】 文章目录 前言关于大语言模型大语言模型是什么?大语言模型有什么用?文案写作知识库回答文本分类代码生成 AWS 如何通过 LLM 提供帮助?Amazon BedrockAmazon SageM…

anaconda中安装pytorch和TensorFlow环境并在不同环境中安装kernel

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

unity使用vs进行c#代码提示,查看F12unity元代码

unity关联vs 在vs中让cs.meta显示,鼠标右键,包含在内 提示GameObject类了 感谢下面这位的提示https://zhuanlan.zhihu.com/p/551119106

概率论和数理统计(四)方差分析与回归分析

前言 实际场景中,也需要研究两个变量的关系.检验也可能出现两个以上的总体. 方差分析 假设检验中,若需检验 H 0 : μ 1 μ 2 , H 1 : μ 1 ̸ μ 2 H_0:μ_1μ_2,H_1:μ_1 \notμ_2 H0​:μ1​μ2​,H1​:μ1​μ2​&#x…

MySQL(18):MySQL8.0的其它新特性

MySQL从5.7版本直接跳跃发布了8.0版本。 MySQL8.0 新增特征 1.更简便的NoSQL支持。 NoSQL泛指非关系型数据库和数据存储。随着互联网平台的规模飞速发展,传统的关系型数据库已经越来越不能满足需求。从5.6版本开始,MySQL就开始支持简单的NoSQL存储功能…

【计算机组成原理】绘制出纯整数(1字节)和纯小数的数轴

绘制出用原码、反码、补码表示纯整数(字节) 的数轴: 对于一字节的大小,原码和反码都只能表示255个数字,因为0占了2个符号数。而补码能表示256个数字,因为0和-0的补码是一样的。所以多出来一个符号数1000 0000能够表示-128所以&…

AMEYA360分析:炬玄智能高精准度、低相噪TCXO时钟补偿芯片

炬玄智能一款TCXO芯片JXT171和生产补偿系统成功通过应用测试,指标达到国际先进水平,实现该产品品类国内首家全国产化突破,为重点行业终端客户供应链保障续上关键一环。 1、典型应用 随着移动通信技术在我国得到广泛应用,蓬勃发展的…

程序员的护城河:技术深度、创新精神与软实力的完美结合

文章目录 1. 技术深度:建立坚实的技术基石2. 创新精神:应对变革的利器3. 软实力:沟通协作构筑团队防线4. 结合三者构筑完美护城河 🎉程序员的护城河:技术深度、创新精神与软实力的完美结合 ☆* o(≧▽≦)o *☆嗨~我是I…

东南亚电商平台,如何有效防范欺诈商户入驻?

目录 柬埔寨居民频遭电商欺诈 平台如何防范欺诈商家入驻 柬埔寨电信监管机构最新公布的数据显示,截至2022年1月,柬埔寨移动电话用户数量已达到19,458,849人,互联网用户数量达到1,7591,396人。这一数据表明,柬埔寨的数字化趋势日…

在webstorm中配置sass编译环境

1.下载ruby 下载地址:ruby下载 2.安装ruby 下载之后,有一个exe安装包 双击exe文件 ,并选择自己的安装位置(这个位置一定要记得,需要在webstorm中使用)。其他的步骤默认安装即可。 3.安装sass ruby安装成功后…

【华为HCIP | 华为数通工程师】IPV4与IPV6 高频题(2)

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

十九章总结

一.Java绘图类 1.Graphics类 Graphics类是所有图形上下文的抽象基类,它允许应用程序在组件以及闭屏图像上进行绘制。Graphics类封装了Java支持的基本绘图操作所需的状态信息,主要包括颜色、字体、画笔、文本、图像等。 2.Graphics2D类 Graphics2…

【软考篇】中级软件设计师 第四部分(一)

中级软件设计师 第四部分(一) 二十九. 程序设计语言概述29.1 解释、编译29.3 编译程序29.4 后缀式29.5 文法定义29.6 正规式29.7 有限自动机29.8 语法分析方法 三十. 法律法规30.1 作品所属权30.2 商标有效期30.3 职务作品所属权30.4 单位与委托30.5 商标…

Python 获取北上广深历史天气数据并做数据可视化

嗨喽,大家好呀~这里是爱看美女的茜茜呐 知识点: 动态数据抓包 requests发送请求 结构化非结构化数据解析 开发环境: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版 requests 发送请求 pip install requests parsel 解析数据 pip install parsel …

jbase实现通用码表

没有通用码表的体系是不完美的,当年我用C#能实现的通用码表,现在在java一样的实现了,通用码表对提高开发效率和降低开发成本的作用巨大,开发可以专注写业务,而不比被太多的维护界面束缚。进而体现在产品竞争力上面&…

Radiology 谈人工智能在放射学领域的10个预测方向 [文献阅读]

人工智能(AI)和信息学正在改变放射学。十年前,没有哪个专家会预测到今天放射人工智能行业的蓬勃发展,100多家人工智能公司和近400种放射人工智能算法得到了美国食品和药物管理局(FDA)的批准。 不到一年前,即使是最精明的预言家也不会相信这些…

Figma插件合集大放送,效果嘎嘎棒!

近日,Figma被Adobe收购的消息在设计领域引起了极大的轰动。作为海外知名的设计工具,Figma对设计圈的影响不容小觑。Figma插件是设计师选择Figma的重要原因。然而,设计软件是一个快速更新和迭代的行业。在关注海外设计软件的同时,也…

python中的字符串转字节码

res int.from_bytes(hello.encode(), byteorderlittle)res的结果为478560413032,这个结果怎么计算得到的呢? 将hello的每个字母的ascii码从右往左排列,拼接起来转成十进制就是res的结果。 拼接的结果为:011011110110110001101100…