vscode调试编译找不到gcc,只有cl,但是检查cmd是对的,控制面板的路径也更改了
🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
问题描述
vscode调试编译找不到gcc,只有cl,控制面板和cmd检查了都没问题


解决方案
如下是上述问题的解决方案,仅供参考:
你提到在 VS Code 中调试编译找不到 GCC 编译器,只有 CL 编译器,但检查了 CMD 和控制面板的环境变量路径都正确。出现这种问题的原因可能是 VS Code 的配置没有正确识别到 GCC 编译器,或者你正在使用的编译环境设置不匹配。我们可以通过以下几个步骤进行排查和解决:
1. 检查 GCC 安装是否正确
你可能已经安装了 GCC 编译器(比如 MinGW 或者 WSL 中的 GCC),但需要确认它是否正确安装以及在系统路径中。
-
检查 GCC 是否可以在 CMD 中使用:
打开命令行,输入gcc --version,确认是否能正确输出 GCC 版本信息。如果显示无法识别命令,那么可能是 GCC 的路径配置有问题。 -
如果 GCC 没有安装或路径有误,可以通过以下方式安装:
-
安装 MinGW:
- 前往 MinGW官网 下载并安装 MinGW。
- 安装完成后,将
MinGW/bin文件夹路径添加到系统的环境变量中。
-
安装 WSL(Windows Subsystem for Linux)并使用 Linux 下的 GCC:
- 通过
wsl --install安装 WSL。 - 在 WSL 中运行
sudo apt install gcc安装 GCC。
- 通过
-
2. 配置 VS Code 的 C/C++ 环境
即使 GCC 已经正确安装,你还需要确保 VS Code 使用的是 GCC 而不是 CL(Visual Studio 的默认编译器)。你可以通过修改 tasks.json 和 launch.json 来进行配置。
- 检查和修改
tasks.json:- 打开 VS Code 中的
.vscode/tasks.json文件(如果不存在可以创建)。 - 确保在
tasks.json中的编译任务配置使用 GCC 编译器。你可以按照如下格式配置:
- 打开 VS Code 中的
{"version": "2.0.0","tasks": [{"label": "build","type": "shell","command": "gcc","args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],"group": {"kind": "build","isDefault": true},"problemMatcher": ["$gcc"],"detail": "Generated task by VS Code."}]}
- 检查和修改
launch.json:- 打开
.vscode/launch.json文件。 - 配置调试器,使其使用 GCC 编译的可执行文件:
- 打开
{"version": "0.2.0","configurations": [{"name": "C/C++: gcc build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "build","miDebuggerPath": "/usr/bin/gdb", // 或者你的 gdb 路径"internalConsoleOptions": "openOnSessionStart","miDebuggerServerAddress": "","debugServerPath": "","serverLaunchTimeout": 10000,"filterStdout": false,"filterStderr": false,"stopOnEntry": false}]}
3. VS Code C/C++ 扩展安装
确保你安装了 VS Code 中的 C/C++ 插件(由 Microsoft 提供的 ms-vscode.cpptools)。这个插件提供了调试和编译 C/C++ 项目所需的工具。如果没有安装该插件,VS Code 可能无法识别你的 GCC 工具链。
4. 检查 VS Code 使用的终端
在 VS Code 中,终端环境可能与你的系统终端环境不同。确保 VS Code 使用的终端与 CMD 中的终端一致。在 VS Code 中可以通过以下方式检查:
- 打开 VS Code 的终端,输入
gcc --version,看看是否能识别到 GCC。 - 如果识别不到,可能需要手动设置终端路径。你可以在 VS Code 的设置中,配置默认的终端为 CMD 或者 Bash。
5. 检查系统 PATH 环境变量是否生效
如果你确认已经正确设置了 GCC 的路径,但在 VS Code 中还是无法找到,可能是因为 PATH 变量没有及时生效。尝试重启电脑,确保所有程序都能正确加载环境变量。
总结:
- 首先检查 GCC 是否在系统 PATH 中正确配置,并在 CMD 中验证能否使用
gcc。 - 修改 VS Code 的
tasks.json和launch.json,确保编译和调试任务使用 GCC 而非 CL。 - 确保安装了 C/C++ 插件,并且在 VS Code 中使用正确的终端环境。
如果按照上述步骤操作后问题依然存在,可以进一步提供错误截图或日志,我会帮你深入分析。
希望如上措施及解决方案能够帮到有需要的你。
PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。
若有对当前Bug有与如下提供的方法不一致,有个不情之请,希望你能把你的新思路或新方法分享到评论区,一起学习,目的就是帮助更多所需要的同学,正所谓「赠人玫瑰,手留余香」。
☀️写在最后
如上问题有的来自我自身项目开发,有的收集网站,有的来自读者…如有侵权,立马删除。再者,针对此专栏中部分问题及其问题的解答思路或步骤等,存在少部分搜集于全网社区及人工智能问答等渠道,若最后实在是没能帮助到你,还望见谅!并非所有的解答都能解决每个人的问题,在此希望屏幕前的你能够给予宝贵的理解,而不是立刻指责或者抱怨!如果你有更优解,那建议你出教程写方案,一同学习!共同进步。
ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏《CSDN问答解惑-专业版》,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。
码字不易,如果这篇文章对你有所帮助,帮忙给 bug菌 来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。
同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!
📣关于我
我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,掘金等各大社区平台签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿哇。

相关文章:
vscode调试编译找不到gcc,只有cl,但是检查cmd是对的,控制面板的路径也更改了
🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…...
空间解析几何5-空间圆到平面的距离【附MATLAB代码】
目录 理论公式 matlab代码 理论公式 matlab代码 function [dis,P,Q,L]Circle2PlaneDistance(T,R,n,Pn) % output % dis 为最短距离,P为距离最短时圆上的点 Q为P对应的投影点 L为最小值有几个 % input % T为园心到基坐标系的变换矩阵 R为圆半径 n为平面的单位法向…...
[已解决] pycharm添加本地conda虚拟环境 + 配置解释器 - pycharm找不到conda可执行文件
目录 问题: 方法: 补充:创建conda虚拟环境 参考文档:pycharm找不到conda可执行文件怎么办?-CSDN 问题: 1.显示:未为项目配置 Python 解释器 2.想在pycharm中使用本地创建的虚拟环境 方法&a…...
SENT - Single Edge Nibble Transmission for Automotive
SENT 总线的特征和优势 SENT 总线是一种数字信号传输协议,具有更高的传输精度和速度;SENT 总线是单线传输数据,减少信号线,降低成本。加上电源和地线,总共 3 线;SENT 总线具有更强大的诊断功能;…...
2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(下)23种设计模式(分值10+)
目录 前言阅读前必看 第七章 面向对象技术(下)7.3 设计模式(固定4分)7.3.1 设计模式的要素7.3.2 创建型设计模式7.3.2.1 Abstract Factory(抽象工厂)7.3.2.2 Builder(生成器)7.3.2.3…...
未来人工智能的发展对就业市场的影响 人工智能在生活中的相关
人工智能(Artificial Intelligence),英文缩写为AI.是新一轮科技革命和产业变革的重要驱动力量, 是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学. 人工智能的发展对就业市场的影响主要…...
Oracle EBS 中财务模块
Oracle E-Business Suite (EBS) 提供了全面的财务管理解决方案,涵盖了企业财务活动的各个方面。以下是EBS中主要的财务模块及其功能概述: 总账(General Ledger, GL):Oracle EBS 中 GL 模块的财务流程概览-CSDN博客 总账…...
基于SSM公廉租房维保系统的设计
管理员账户功能包括:系统首页,个人中心,业主管理,维修单位管理,房屋信息管理,维修申报管理,维修完成,房屋维护管理 业主账号功能包括:系统首页,个人中心&…...
【AI大模型】深入Transformer架构:解码器部分的实现与解析
目录 🍔 解码器介绍 🍔 解码器层 2.1 解码器层的作用 2.2 解码器层的代码实现 2.3 解码器层总结 🍔 解码器 3.1 解码器的作用 3.2 解码器的代码分析 3.3 解码器总结 学习目标 🍀 了解解码器中各个组成部分的作用. &#…...
前端html js css 基础巩固3
一个这样的首页 滑动显示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&l…...
如在下载自己的需要的rmp包呢
下载地址:https://pkgs.org/和https://rpmfind.net/linux/rpm2html/search.php 根基自己的需要进行下载使用。...
Android TextView实现一串文字特定几个字改变颜色
遇到一个需求,让Android端实现给定一个字符串指定下标的几个字颜色与其他字颜色不一致。 主要是用ForegroundColorSpan这个API来传入颜色值,用SpannableString来设置指定索引下标的字的颜色值。 这里通过给定一个输入文字描述框,要求输入指定…...
桃子叶片病害分类检测数据集(猫脸码客 第221期)
桃子叶片病害分类检测数据集 一、引言 桃子作为世界上广泛种植的果树之一,其叶片的健康状况直接关系到果实的产量和品质。然而,桃子叶片易受多种病害的侵袭,这些病害不仅影响叶片的光合作用,还可能导致果实减产、品质下降&#…...
Vue--》掌握自定义依赖引入的最佳实践
在现代前端开发中,vue凭借其灵活性和高效性,已成为开发者们的宠儿,然而随着项目的复杂度提升,如何高效地管理和引入依赖,尤其是自定义引入依赖,成为了许多开发者面临的一大挑战。无论是为了优化加载速度&am…...
repo 命令大全详解(第十四篇 repo overview)
repo overview 命令用于显示当前项目的概览信息,帮助用户快速了解项目的状态和分支信息。 参数分类及解释 基本参数 [--current-branch]: 可选,仅考虑已检出的分支。 示例: repo overview --current-branch [<project>...]: 可选,指定…...
【设计模式】深入理解Python中的抽象工厂设计模式
深入理解Python中的抽象工厂设计模式 设计模式是软件开发中解决常见问题的经典方案,而**抽象工厂模式(Abstract Factory Pattern)**是其中非常重要的一种创建型模式。抽象工厂模式的主要作用是提供一个接口,创建一系列相关或依赖…...
网站建设完成后,多久需要升级迭代一次
网站建设完成后,一般每隔几个月就会进行一次迭代升级。以下是关于网站迭代周期和原因的具体分析: 更新频率:网站在建设完成后,一般每隔几个月就会进行一次迭代升级。这种周期性的更新有助于保持网站的现代感和竞争力。更新目的&a…...
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字
这里写目录标题 问题详情分析问题代码展示 问题详情 剑指 Offer 56: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例: 输入&a…...
Vue基本学习2
Vue使用方法 <script src"js/vue.js"></script><script>/*** Mode1:数据模型,负责数据存储(后台业务逻辑/数据库)* View:视图层,负责页面展示(HTML)* View Model(Vue):负责业务逻辑处理(比如Ajax请求等)* view 与 Model 数…...
创作者等级权益说明
创作者等级权益说明 一、如何查看创作者等级权益二、等级权益对照表 一、如何查看创作者等级权益 step1:鼠标移动至头像,显示如下图的浮窗 step2:点击我的等级,即跳转到创作者等级权益页面 图1.1 我的等级 图1.2 创作者等级权益…...
Nano-Banana多场景落地:汽车内饰配件爆炸图AI辅助设计案例
Nano-Banana多场景落地:汽车内饰配件爆炸图AI辅助设计案例 1. 引言:当汽车设计遇上AI拆解美学 想象一下,你是一位汽车内饰设计师。面对一个复杂的中央扶手总成,里面有几十个塑料件、卡扣、线束和电子模块。你需要向客户、工程师…...
逻辑分析仪采样率设置玄学:用Acute 3134E抓eMMC信号时如何平衡精度与时长
逻辑分析仪采样率设置玄学:用Acute 3134E抓eMMC信号时如何平衡精度与时长 在消费电子维修和固件开发领域,捕获准确的eMMC信号波形往往决定着故障诊断的成败。Acute 3134E逻辑分析仪作为工程师手中的利器,其采样率设置却常被戏称为"玄学&…...
剧本杀教程生成指南2025,解析,轻松掌握创作技巧
剧本杀教程生成指南2025,解析,轻松掌握创作技巧剧本杀作为一种新兴的娱乐方式,近年来在全球范围内迅速流行。随着越来越多的人加入到剧本杀的创作和体验中,如何高效地创作出高质量的剧本成为了一个热门话题。本文将为你提供一份详…...
OpenClaw学习助手:Qwen3-4B自动整理技术文档实战
OpenClaw学习助手:Qwen3-4B自动整理技术文档实战 1. 为什么需要AI文档整理助手 作为一个经常需要阅读大量技术文档的开发者,我发现自己长期陷入"收集-遗忘-重复阅读"的恶性循环。PDF里的关键知识点总是淹没在几十页的细节中,手动…...
ResNet变体探索:从基础ResBlock到高效架构设计
1. ResBlock基础结构与设计哲学 残差块(Residual Block)作为ResNet的核心组件,彻底改变了深度神经网络的训练方式。我第一次在ImageNet分类任务中使用ResNet-50时,就被它解决梯度消失问题的能力震惊了——传统VGG网络在超过19层后…...
课堂学习1
Miniconda 安装教程 (2026版) Anaconda 是最流行的 Python 和 R 语言数据科学平台,它包含了康达包管理器(Conda)、Python 以及 1500 个科学包及其依赖项。Miniconda 可以看作是 Anaconda 的“轻装版”,只自带 conda …...
OpenClaw本地知识库构建:Qwen2.5-VL-7B处理扫描版PDF与图片资料
OpenClaw本地知识库构建:Qwen2.5-VL-7B处理扫描版PDF与图片资料 1. 为什么选择OpenClaw搭建个人知识管理系统 去年搬家时,我翻出了三大箱纸质资料——从学生时代的课堂笔记到工作后的技术手册,全都堆在角落积灰。这些资料里藏着不少珍贵内容…...
嵌入式设备参数存储优化方案与实践
1. 嵌入式设备参数存储的痛点与常见方案在嵌入式系统开发中,参数存储是个看似简单却暗藏玄机的基础功能。我经历过多个量产项目,发现参数管理不当导致的现场问题占比高达30%。最常见的场景是:设备运行多年后需要功能升级,新增几个…...
嵌入式JPEG解码库JPEGDecoder深度解析
1. JPEGDecoder 库深度技术解析:面向嵌入式显示系统的轻量级 JPEG 解码实践1.1 库定位与工程价值JPEGDecoder 是一个专为资源受限嵌入式平台设计的轻量级 JPEG 解码库,其核心目标并非替代 PC 级全功能解码器,而是在 MCU 级别实现“够用、可控…...
场效应管MOS
场效应管 场效应管又称场效应晶体管(Field Effect Transistor,缩写为FET),它与三极管一样,具有放大能力。场效应管有漏极(D极)、栅极(G极)和源极(S极…...

