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

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.jsonlaunch.json 来进行配置。

  • 检查和修改 tasks.json
    1. 打开 VS Code 中的 .vscode/tasks.json 文件(如果不存在可以创建)。
    2. 确保在 tasks.json 中的编译任务配置使用 GCC 编译器。你可以按照如下格式配置:
       {"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
    1. 打开 .vscode/launch.json 文件。
    2. 配置调试器,使其使用 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 变量没有及时生效。尝试重启电脑,确保所有程序都能正确加载环境变量。

总结:

  1. 首先检查 GCC 是否在系统 PATH 中正确配置,并在 CMD 中验证能否使用 gcc
  2. 修改 VS Code 的 tasks.jsonlaunch.json,确保编译和调试任务使用 GCC 而非 CL。
  3. 确保安装了 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包呢

下载地址&#xff1a;https://pkgs.org/和https://rpmfind.net/linux/rpm2html/search.php 根基自己的需要进行下载使用。...

Android TextView实现一串文字特定几个字改变颜色

遇到一个需求&#xff0c;让Android端实现给定一个字符串指定下标的几个字颜色与其他字颜色不一致。 主要是用ForegroundColorSpan这个API来传入颜色值&#xff0c;用SpannableString来设置指定索引下标的字的颜色值。 这里通过给定一个输入文字描述框&#xff0c;要求输入指定…...

桃子叶片病害分类检测数据集(猫脸码客 第221期)

桃子叶片病害分类检测数据集 一、引言 桃子作为世界上广泛种植的果树之一&#xff0c;其叶片的健康状况直接关系到果实的产量和品质。然而&#xff0c;桃子叶片易受多种病害的侵袭&#xff0c;这些病害不仅影响叶片的光合作用&#xff0c;还可能导致果实减产、品质下降&#…...

Vue--》掌握自定义依赖引入的最佳实践

在现代前端开发中&#xff0c;vue凭借其灵活性和高效性&#xff0c;已成为开发者们的宠儿&#xff0c;然而随着项目的复杂度提升&#xff0c;如何高效地管理和引入依赖&#xff0c;尤其是自定义引入依赖&#xff0c;成为了许多开发者面临的一大挑战。无论是为了优化加载速度&am…...

repo 命令大全详解(第十四篇 repo overview)

repo overview 命令用于显示当前项目的概览信息&#xff0c;帮助用户快速了解项目的状态和分支信息。 参数分类及解释 基本参数 [--current-branch]: 可选&#xff0c;仅考虑已检出的分支。 示例: repo overview --current-branch [<project>...]: 可选&#xff0c;指定…...

【设计模式】深入理解Python中的抽象工厂设计模式

深入理解Python中的抽象工厂设计模式 设计模式是软件开发中解决常见问题的经典方案&#xff0c;而**抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;**是其中非常重要的一种创建型模式。抽象工厂模式的主要作用是提供一个接口&#xff0c;创建一系列相关或依赖…...

网站建设完成后,多久需要升级迭代一次

网站建设完成后&#xff0c;一般每隔几个月就会进行一次迭代升级。以下是关于网站迭代周期和原因的具体分析&#xff1a; 更新频率&#xff1a;网站在建设完成后&#xff0c;一般每隔几个月就会进行一次迭代升级。这种周期性的更新有助于保持网站的现代感和竞争力。更新目的&a…...

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字

这里写目录标题 问题详情分析问题代码展示 问题详情 剑指 Offer 56&#xff1a; 一个整型数组 nums 里除两个数字之外&#xff0c;其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n)&#xff0c;空间复杂度是O(1)。 示例&#xff1a; 输入&a…...

Vue基本学习2

Vue使用方法 <script src"js/vue.js"></script><script>/*** Mode1:数据模型&#xff0c;负责数据存储(后台业务逻辑/数据库)* View:视图层&#xff0c;负责页面展示(HTML)* View Model(Vue):负责业务逻辑处理(比如Ajax请求等)* view 与 Model 数…...

创作者等级权益说明

创作者等级权益说明 一、如何查看创作者等级权益二、等级权益对照表 一、如何查看创作者等级权益 step1&#xff1a;鼠标移动至头像&#xff0c;显示如下图的浮窗 step2&#xff1a;点击我的等级&#xff0c;即跳转到创作者等级权益页面 图1.1 我的等级 图1.2 创作者等级权益…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...