在 VSCode 中安装和配置 C/C++ 开发环境及调试功能

VSCode 中安装和配置 C/C++ 开发环境及调试功能,涉及几个关键步骤:安装 VSCode、安装 C/C++ 编译器、安装 C/C++ 扩展、配置调试环境等。下面是一个详细的保姆级教程,带你一步步完成配置。
1. 安装 VSCode
首先,你需要安装 Visual Studio Code(简称 VSCode)。可以通过以下步骤完成安装:
访问 Visual Studio Code 官方网站,并下载适用于你操作系统的版本(Windows、macOS 或 Linux)。
按照安装向导进行安装,完成后启动 VSCode。
2. 安装 C/C++ 编译器
2.1 在 Windows 上安装 MinGW(推荐)
下载 MinGW-w64 编译器(用于 C/C++):
访问 MinGW-w64 下载页面,选择适合的安装包进行下载。
安装 MinGW:
下载完成后,运行安装程序,选择 Architecturex86_64(64 位系统),选择 ThreadsposixExceptionseh,并选择安装路径(如 C:\mingw-w64)。
配置环境变量:
安装完成后,将 MinGW 的 bin 目录添加到系统的 环境变量 中:右键点击 “计算机” 或 “此电脑” → 选择 属性高级系统设置环境变量
系统变量 中找到 Path 变量,点击 编辑,添加 MinGW 安装路径下的 bin 文件夹(例如 C:\mingw-w64\bin)。
验证安装:
打开命令提示符,输入以下命令检查是否正确安装:

gcc --version
g++ --version

如果显示版本信息,说明 MinGW 编译器安装成功。
2.2 在 macOS 上安装 Xcode Command Line Tools
macOS 用户可以通过安装 Xcode 命令行工具来获取 GCC 编译器。
打开终端并输入以下命令:

xcode-select --install

按照提示安装。
2.3 在 Linux 上安装 GCC
在大多数 Linux 发行版中,可以通过包管理器安装 GCC 编译器。
Ubuntu/Debian 系统:

sudo apt update
sudo apt install build-essential

CentOS/RHEL 系统:

sudo yum groupinstall "Development Tools"

3. 安装 C/C++ 扩展
启动 VSCode。
在左侧的活动栏中,点击 扩展(Extensions)图标(或按 Ctrl + Shift + X)。
搜索 C/C++,然后安装由 Microsoft 提供的 C/C++ 扩展(ms-vscode.cpptools)。
安装完成后,重启 VSCode。
4. 配置 VSCode 用于 C/C++ 开发
4.1 配置任务:编译 C/C++ 程序
在 VSCode 中打开你的 C/C++ 项目文件夹,或者新建一个文件夹。
创建一个 tasks.json 文件来定义构建任务:
Ctrl + Shift + P 打开命令面板,输入并选择 Tasks: Configure Task
选择 Create tasks.json file from template
选择 Others
编辑生成的 tasks.json 文件,配置编译任务。以下是一个简单的 tasks.json 示例,用于编译 C 程序:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "gcc build active file",
            "type": "shell",
            "command": "/usr/bin/gcc",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "detail": "Generated task for C/C++ build"
        }
    ]
}

command: 编译器的路径(Windows 上可能是 gcc.exeg++.exe)。
args: 编译参数,-g 生成调试信息,${file} 表示当前打开的文件。
4.2 配置调试器:调试 C/C++ 程序
Ctrl + Shift + D 打开调试面板,点击左上角的 创建一个 launch.json 文件
选择 C++ (GDB/LLDB)
编辑生成的 launch.json 文件,配置调试器。以下是一个简单的 launch.json 示例:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/usr/bin/gdb",
            "preLaunchTask": "gcc build active file",
            "internalConsoleOptions": "openOnSessionStart"
        }
    ]
}

program: 指定调试的可执行文件,通常是 ${fileDirname}/${fileBasenameNoExtension},即当前源文件的编译输出文件。
miDebuggerPath: 指定 GDB 调试器的路径,Windows 上通常是 gdb.exe,Linux/macOS 上是 /usr/bin/gdb
preLaunchTask: 配置编译任务,在调试前先执行构建任务。
4.3 配置编译器和调试器路径
tasks.jsonlaunch.json 文件中,确保 commandmiDebuggerPath 的路径与实际的编译器和调试器位置一致。
Windows:如果使用 MinGW 编译器,gcc.exegdb.exe 的路径可能是 C:\mingw-w64\bin\gcc.exe
Linux/macOS:通常是 /usr/bin/gcc/usr/bin/gdb
5. 编写 C/C++ 代码并调试
在 VSCode 中创建或打开一个 C/C++ 文件,例如 main.cmain.cpp
编写你的 C/C++ 代码,例如:

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

Ctrl + Shift + B 编译程序,或者手动运行构建任务。
F5 启动调试,VSCode 会在 GDB 中启动调试会话,你可以使用断点、步进等功能调试代码。
6. 常见问题及解决办法
问题:无法找到编译器路径。
解决办法:确保在 tasks.jsonlaunch.json 中正确配置了编译器和调试器的路径。可以在终端中运行 gcc --versiong++ --version 来确认路径。
问题:调试时提示找不到可执行文件。
解决办法:确保编译任务生成的可执行文件路径正确,并与 launch.json 中的 program 配置一致。
总结
通过上述步骤,你可以在 VSCode 中设置一个完整的 C/C++ 开发环境,包括:
安装 C/C++ 编译器(如 MinGW、Xcode 工具链或 GCC)。
配置 VSCode 扩展和编译任务。
配置调试器(如 GDB)。
编写代码并进行调试。
这个过程包括安装、配置和调试的每个步骤,可以帮助你在 VSCode 中轻松进行 C/C++ 开发。

发布者:myrgd,转载请注明出处:https://www.object-c.cn/4951

Like (0)
Previous 2024年11月29日 下午12:06
Next 2024年11月29日 下午3:37

相关推荐

  • AI视觉领域优秀的开源项目和框架

    AI视觉领域有很多优秀的开源项目和框架,可以满足不同的需求,从计算机视觉任务(如目标检测、图像分类)到复杂的视觉应用(如生成对抗网络、视频分析等)。以下是一些流行的开源框架、工具库和平台: 1. 通用计算机视觉框架 1.1 OpenCV 1.2 PyTorch Vision (TorchVision) 1.3 MMDetection 2. 图像分割与生成 2…

    2024年11月24日
    00
  • Windows 系统中使用 VSCode 配置 C/C++ 开发环境教程

    在 Windows 系统中使用 VSCode 配置 C/C++ 开发环境,可以高效编写和调试代码。以下是详细步骤: 1. 安装必要工具 1.1 安装 VSCode 1.2 安装 C/C++ 编译器 推荐使用 MinGW-w64: 验证是否安装成功: 2. 安装 VSCode 插件 打开 VSCode 的扩展市场(Ctrl+Shift+X),搜索并安装以下插件…

    2024年11月26日
    00
  • 在使用 Kettle 9.1 连接 MySQL 时,遇到错误提示 Connection failed. Verify all connection parameters and confirm that the appropriate driver is installed.

    在使用 Kettle 9.1 连接 MySQL 时,遇到错误提示 Connection failed. Verify all connection parameters and confirm that the appropriate driver is installed. 通常是由于以下几个原因导致的: 1. MySQL 驱动未正确配置Kettle 需要…

    2024年11月27日
    00
  • 使用 Docker 中 cgroups 资源控制的实战教程

    使用 Docker 的 cgroups(control groups)功能,可以对容器的资源使用进行精确控制,例如限制 CPU、内存、IO 和网络带宽等。以下是 Docker 中 cgroups 资源控制的实战教程。 一、Docker 支持的资源限制 1. CPU 相关 2. 内存相关 3. IO 相关 二、常见资源限制命令 1. 限制 CPU 使用 示例:…

    2024年11月23日
    00
  • 最新 pragma solidity 0 . 5 . 10 报错原因解决

    pragma solidity 0.5.10 会报错的原因通常与当前使用的 Solidity 编译器版本不支持该指定版本的语法有关。要解决此问题,需要确保使用正确的编译器版本或调整代码中的版本声明。 问题分析指定的版本过旧: Solidity 0.5.10 是较旧的版本,而现代的工具链(如 Truffle 或 Hardhat)可能默认安装更新版本的编译器。不…

    2024年11月27日
    00
  • VMware Workstation 17 Pro 中安装 macOS 虚拟机

    在 VMware Workstation 17 Pro 中安装 macOS 虚拟机需要一些额外的步骤,因为 VMware 默认不支持直接安装 macOS 系统。以下是完整的教程,帮助你在 VMware 中成功安装 macOS。 一、准备工作 1. 所需资源 二、安装 VMware 并解锁 macOS 支持 1. 安装 VMware Workstation 2…

    2024年11月23日
    00
  • 在国内访问 GitHub 可能会遇到加载缓慢或无法打开的问题

    在国内访问 GitHub 可能会遇到加载缓慢或无法打开的问题,这通常与网络连接、DNS 设置或网络限制有关。以下是几种解决方法: 1. 更改 DNSDNS 配置错误可能导致 GitHub 无法正常访问。可以尝试修改 DNS 为公共 DNS 服务:推荐使用:阿里云 DNS:223.5.5.5 和 223.6.6.6Google DNS:8.8.8.8 和 8.…

    2024年11月27日
    00
  • 在 Jupyter Notebook 中使用 Markdown 的相关技巧

    在 Jupyter Notebook 中使用 Markdown 是一种常见的方式来撰写文档和注释,增强数据分析和报告的可读性。Markdown 在 Jupyter Notebook 中不仅支持标准的文本格式化功能,还提供了许多扩展功能,比如数学公式、表格、代码块等。以下是一些常用的 Markdown 技巧,可以帮助你提升 Jupyter Notebook 中…

    2024年11月27日
    00
  • 解决 Vue 3 应用部署到 GitHub Pages 后,遇到 404 错误问题

    在将 Vue 3 应用部署到 GitHub Pages 后,遇到 404 错误通常是由于 GitHub Pages 处理路由时的问题。Vue 3 使用 Vue Router 来管理前端路由,而 GitHub Pages 本身是静态托管服务,不支持处理 SPA(单页面应用)的客户端路由。因此,当你直接访问某个页面 URL(比如 https://youruser…

    2024年11月29日
    00
  • 在 Linux 系统上配置 Hadoop 环境,包括创建 hadoop 用户、更新 apt、安装 SSH 和配置 Java 环境

    以下是详细的步骤,用于在 Linux 系统上配置 Hadoop 环境,包括创建 hadoop 用户、更新 apt、安装 SSH 和配置 Java 环境。 1. 创建 Hadoop 用户创建一个名为 hadoop 的新用户: 根据提示设置密码和用户信息。 将 hadoop 用户添加到 sudo 组(可选): 切换到 hadoop 用户: 2. 更新 APT 包…

    2024年12月1日
    00
  • PHM技术:一维信号时序全特征分析(统计域/频域/时域)信号处理

    PHM(Prognostics and Health Management,预测与健康管理)技术中的一维信号时序特征分析,旨在从信号中提取与设备健康状态相关的多种特征。以下是针对统计域、频域和时域特征分析的详细介绍和常见方法。 1. 时域特征分析时域特征直接从原始信号提取,描述信号的统计特性或时间行为。这些特征反映信号的幅值、变化趋势和波形形状。1.1 常用…

    2024年11月28日
    00
  • 在 Spring Boot 中实现定时任务,通过 Spring Task Scheduling 来完成

    在 Spring Boot 中实现定时任务,可以通过 Spring Task Scheduling 来轻松完成。Spring 提供了多种方法来调度任务,其中使用 @Scheduled 注解是最常见且简单的方式。 步骤:在 Spring Boot 中实现定时任务 1. 启用定时任务 首先,确保在 Spring Boot 应用的主类或配置类中启用定时任务功能: …

    2024年11月26日
    00
  • Java 8 到 Java 17 的升级涉及一些关键变化

    JDK 8 升级到 JDK 17 指南Java 8 到 Java 17 的升级涉及一些关键变化,包括语言特性、API 更新和性能改进。以下是一些升级要点:语法和语言特性:记录类(Record Class):Java 14 引入了记录类,提供了一种简化创建不可变数据对象的方式。密封类(Sealed Classes):Java 15 引入了密封类,允许开发者限制…

    2024年11月27日
    00
  • 在 MacOS 上开启 HIDPI 模式的多种方案

    在 MacOS 上开启 HIDPI 模式可以帮助提升显示器的清晰度,尤其是在使用 Retina 屏幕时。以下是几种常见的方案:1. 通过终端命令启用 HIDPI 模式打开 终端 (Terminal)。输入以下命令: 然后重启 Mac,或者注销当前用户并重新登录。这将启用隐藏的高分辨率模式。2. 通过 SwitchResX 工具SwitchResX 是一个强大…

    2024年11月27日
    00
  • 在 .NET 环境下,使用 OpenTK 为 SkiaSharp 提供 OpenGL 支持是一个常见的方式

    在 .NET 环境下,使用 OpenTK 为 SkiaSharp 提供 OpenGL 支持是一个常见的方式,可以高效地进行 2D 图形渲染。下面是具体如何实现和一些关键概念的介绍: 背景知识 实现步骤 1. 添加必要的 NuGet 包 确保你的项目安装了以下 NuGet 包: 2. 创建 OpenGL 上下文 使用 OpenTK 创建一个 OpenGL 上下…

    2024年12月8日
    00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信