VS Code 配置C/C++环境 出现问题 could not find the task 'g++' / 'gcc'

2023-11-10

前言

由于新电脑未装VSCode C/C++配置环境,刚好手头有些东西想在上面验证。
于是开启安装之旅,耗时大概4h…最后还是拷了旧电脑的配置…修改过后才解决的问题。
如果你是被标题“骗”进来的,请直接跳转到tasks.json部分。

推荐先序阅读

Visual Studio Code 如何编写运行 C、C++ 程序? — 谭九鼎

编译器

  • MinGWMinGW-w64 是两个不同的东西(MinGW 相对较老,还是用 MinGW-w64 ,还有不要下载错了,x86_64-posix-seh…文末分享安装包)
  • 环境变量未生效问题:这位兄台,要不你重启试试?

插件

  • C++ Intellisense
  • C/C++
    就是这两货

C配置

launch.json

{  
    "version": "0.2.0",  
    "configurations": 
    [  

        {
            "name": "C", // 配置名称,将会在启动配置的下拉菜单中显示  
            "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
            "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
            "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
            "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
            "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录  
            "environment": [],  
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
            "MIMode": "gdb",  
            "miDebuggerPath": "D:\\Mingw-w64\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
            "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": 
            [  
                {   
					"description": "Enable pretty-printing for gdb",  
                    "text": "-enable-pretty-printing",  
                    "ignoreFailures": true  
                }  
            ]  
        }
    ]
}

一般需要修改的应该只有miDebuggerPath而已
当然如果你想作为C/C++的环境,用g++编译.c文件也是可以的preLaunchTask修改为g++即可。

tasks.json

{
// 有关 tasks.json 格式的文档,请参见
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "g++",
            "command": "D:/Mingw-w64/mingw64/bin/g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "D:/Mingw-w64/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build"
        },
        {
            "type": "shell",
            "label": "gcc",
            "command": "D:\\Mingw-w64\\mingw64\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "D:\\Mingw-w64\\mingw64\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build"
        }
    ]
}

注意:找不到任务的错误提示就是这里出现的,何解?
tasks.jsontaskslabel 项必须和 launch.jsonpreLaunchTask 相对应!!
此外,你可能需要修改的还有:commandoptions-cwd(都是路径,不需要解释了吧)

c_cpp_properties.json

这个文件的配置,建议通过Ctrl+Shift+P打开命令行,选择C/C++:编译配置(UI)

在这里插入图片描述
打开后可以发现:配置名称编译器路径已经有了。
在这里插入图片描述
如果没有的话,请先确保你的环境变量已经生效。
当然你也可以新建一个c_cpp_properties.json

在这里插入图片描述

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:/Mingw-w64/mingw64/bin/g++.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

需要修改的内容compilerPath

C++配置

launch.json

{  
    "version": "0.2.0",  
    "configurations": 
    [  

        {
            "name": "C++", // 配置名称,将会在启动配置的下拉菜单中显示  
            "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
            "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
            "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
            "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
            "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录  
            "environment": [],  
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
            "MIMode": "gdb",  
            "miDebuggerPath": "D:\\Mingw-w64\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": 
            [  
                {   
					"description": "Enable pretty-printing for gdb",  
                    "text": "-enable-pretty-printing",  
                    "ignoreFailures": true  
                }  
            ]  
        }
    ]  
}

需修改miDebuggerPath

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
        }
    }
}

settings.json

{
    "files.associations": {
        "*.tcc": "cpp",
        "cctype": "cpp",
        "clocale": "cpp",
        "cmath": "cpp",
        "cstdint": "cpp",
        "cstdio": "cpp",
        "cstdlib": "cpp",
        "cwchar": "cpp",
        "cwctype": "cpp",
        "exception": "cpp",
        "initializer_list": "cpp",
        "iosfwd": "cpp",
        "iostream": "cpp",
        "istream": "cpp",
        "limits": "cpp",
        "new": "cpp",
        "ostream": "cpp",
        "stdexcept": "cpp",
        "streambuf": "cpp",
        "string_view": "cpp",
        "system_error": "cpp",
        "type_traits": "cpp",
        "typeinfo": "cpp",
        "iomanip": "cpp"
    }
}

编译器下载

百度云盘链接
提取码: a8r8

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

VS Code 配置C/C++环境 出现问题 could not find the task 'g++' / 'gcc' 的相关文章

随机推荐

  • OpenCV教程——Mat对象

    1 Mat对象和IplIamge对象 Mat对象是OpenCV2 0之后引进的图像数据结构 自动分配内存 不存在内存泄漏的问题 是面向对象的数据结构 分为两个部分 头部和数据部分 IplIamge是从2001年OpenCV发布之后就一直存在
  • SpringBoot自学笔记《黑马程序员》

    SpringBoot 文章目录 SpringBoot SpringBoot简介 SpringBoot开发步骤 SpringBoot配置文件 属性配置 YAML格式 YAML读取 多环境配置 配置文件级别 SpringBoot整合junit
  • 20230822 Windows上使用find_package引入OpenCV报错

    报错信息 打开Cmake项目时 find package 报错 Found OpenCV Windows Pack but it has no binaries compatible with your configuration You
  • chipsel语言_未来发行版中可能删除的功能

    未来发行版中可能删除的功能 未来的 Oracle Solaris 软件发行版可能不支持以下功能 LP 打印服务 未来的 Oracle Solaris 发行版可能不包含 LP 打印服务 SPARC 对传统系统的支持 未来的 Oracle So
  • 【华为 OD】

    目录 一 题目描述 二 输入描述 三 输出描述 用例 四 题目解析 五 Java玩法 六 JavaScript玩法 一 题目描述 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请按如下规则对这一组扑克牌 进行整理 步骤 1 对扑克牌
  • 备份技术

    备份技术 备份技术是灾难恢复技术的一个基础 没有使用备份技术进行全面 及时以及准确的备份 就无法进行灾难恢复 1 备份策略 备份策略的制定是备份系统的一个重要部分 备份策略的选择依赖于数据的重要性 允许备份的可用时间以及其他的一些因素 一般
  • 序列化与反序列化(1)Serializable —— Java原生态方法

    摘自 序列化与反序列化 1 Serializable Java原生态方法 作者 丶PURSUING 发布时间 2021 05 08 19 20 21 网址 https blog csdn net weixin 44742824 articl
  • windows11安装docker时,修改默认安装到C盘

    1 修改默认安装到C盘 2 如果之前安装过docker 请删除如下目录 C Program Files Docker 3 在D盘新建目录 D Program Files Docker 4 win r 以管理员权限运行cmd 5 在cmd中执
  • MySQL权限详解

    本文为joshua317原创文章 转载请注明 转载自joshua317博客 https www joshua317 com article 55 MySQL提供了哪些权限 MySQL提供的权限列表如图所示 其中 All或者Allprivil
  • 一步一步学区块链(1)概念了解

    区块链是分布式数据存储 点对点传输 共识机制 加密算法等计算机技术的 新型应用模式 所谓共识机制是区块链系统中实现不同节点之间建立信任 获取权益的数学算法 含义 比特币 BitCoin 的概念最初由中本聪在2009年提出 根据中本聪的思路设
  • PageHelper中的RowBounds

    RowBounds是处理ResultSet结果集进行分页 也就是说是mybatis默认实现是逻辑分页 并不是物理分页 但PageHelper将这个类利用起来进行了物理分页 PageHelper的其中一种使用方式就是将RowBounds参数获
  • DRM驱动代码分析:色彩管理

    高通PQ有哪些子模块 DSPP sub blocks SDE DSPP IGC DSPP Inverse gamma correction block SDE DSPP PCC Panel color correction block SD
  • Linux Ubuntu安装多个cuda版本

    因为pytorch版本与cuda版本有一定的对应要求 服务器上的cuda是不能自己随便动的 所以需要在自己账户中安装其他版本的cuda 而不能影响其他账户中已安装的cuda 这里参考了多篇博文总结出以下要点 1 nvcc和nvidia sm
  • 攻防世界 shrine 详解

    打开题目 整理源码 代码审计 目标 config FLAG 过滤了 config self 这两个函数的过滤没看懂 总之好像也没过滤掉 应该是过滤了后面的变量 圆括号是彻底的被过滤掉了 URL编码都没用 刚开始想测试XSS来着 做完后 拿编
  • JS数组过滤 简单------->多条件筛选

    在前端部分完成筛选功能 一次拿到所有数据 然后根据条件筛选 通常情况下筛选是后台给接口 在数据量不大的情况下 也有人可能会遇到前端筛选这样的情况 这个是例子中的被筛选数组 var aim name Anne age 23 gender fe
  • 最强大脑(9-10)

    目录 第九季 团队冲击赛 乾坤魔方 运Q帷幄 光影残卷 光柱霓虹 六宫数局 双面拼图 索玛秘图 康斯迭代 第九季 淘汰赛 慧眼识金 连杆曲线 光点密钥 希尔伯特旋涡 移星掠形 星阵潜袭 明灯谜局 彩虹雪花 光图谜笼 战旗阵地 时间旅人 数字
  • [开发] 认证的几种方式简介

    LDAP 认证 LDAP 轻量级目录访问协议 是一种用于访问和维护分布式目录信息的开放标准协议 它最初由电子数据系统公司 Netscape 开发 现在被广泛用于企业和组织中的身份认证和授权管理 LDAP的目标是为不同类型的应用程序 如电子邮
  • 创作灵感打卡

    打卡 打卡 打卡 重要的事情说三遍 作为一个CSDN新手 目标就是 坚持下来 每日分享关于C语言知识 希望在CSDN平台上可以走的更远 今日刚刚发布几篇博客 兴趣大发 希望同僚可以给以鼓励 使得坚持下来
  • RPNet 分割

    46m https github com ooooverflow BiSeNet 网络好像比较大 无模型 https github com superlxt RPNet Pytorch solov2 还未开源 yolact map不到30
  • VS Code 配置C/C++环境 出现问题 could not find the task 'g++' / 'gcc'

    前言 由于新电脑未装VSCode C C 配置环境 刚好手头有些东西想在上面验证 于是开启安装之旅 耗时大概4h 最后还是拷了旧电脑的配置 修改过后才解决的问题 如果你是被标题 骗 进来的 请直接跳转到tasks json部分 推荐先序阅读