在 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

相关推荐

  • 微信小程序开发中使用 Tailwind CSS 提高开发效率和代码的可维护性

    Tailwind CSS 是一个利用原子化 CSS 类来构建用户界面的框架,在微信小程序开发中使用 Tailwind CSS 可以提高开发效率和代码的可维护性。以下是在微信小程序中使用 Tailwind CSS 进行原子 CSS 开发的具体步骤: 安装 Tailwind CSS 配置 Tailwind CSS 引入样式:在微信小程序的全局样式文件app.wx…

    2024年12月15日
    00
  • 开源免费的AI智能文字识别产品(OCR识别)

    以下是一些免费和开源的 AI 智能文字识别(OCR)和文档处理工具,可以满足通用文档解析、OCR 识别、格式转换、篡改检测以及证件识别等需求: 1. OCR 识别工具 Tesseract OCR PaddleOCR 2. 文档格式转换工具 Apache PDFBox LibreOffice 3. 篡改检测工具 DocGuard 4. 证件识别工具 EasyO…

    2024年11月26日
    00
  • 浏览器跨域请求中携带 Cookie需要同时在前端和后端进行配置

    浏览器跨域请求中,要让请求携带 Cookie,需要同时在前端和后端进行配置。以下是实现的方法: 前端配置 在前端代码中使用 fetch 或 Axios 发起请求时,需要设置 credentials 属性: 1. Fetch 示例 2. Axios 示例 后端配置 在后端需要允许跨域请求,并确保 Cookie 能够正常传递。 1. 设置 Access-Cont…

    2024年12月9日
    00
  • 如何快速搭建Linux lnmp 开发环境

    要快速搭建一个 Linux LNMP(Linux + Nginx + MySQL/MariaDB + PHP)开发环境,可以按照以下步骤操作。这适用于常见的 Linux 发行版(如 Ubuntu 和 CentOS)。 步骤 1:更新系统 更新系统软件包是安装前的必要步骤。 Ubuntu CentOS/RHEL 步骤 2:安装 Nginx Ubuntu Cen…

    2024年11月22日
    00
  • java中使用 Arrays.asList()新增报错问题解决方法

    Arrays.asList() 返回的是一个固定大小的列表。如果你尝试使用该列表进行添加、删除等修改操作,会抛出 UnsupportedOperationException 异常。这是因为 Arrays.asList() 返回的列表背后是一个数组,它的大小是固定的,不能进行动态修改。解决方法使用 ArrayList 包装 Arrays.asList() 的结…

    2024年12月2日
    00
  • 开源AI大模型工作神器Flowise本地部署与远程访问教程

    Flowise 是一个开源的 AI 大模型工具,允许你轻松地构建、训练和部署 AI 模型,尤其适用于大语言模型(LLM)的处理。它提供了图形化界面来管理模型和处理流,用户可以通过简单的操作构建和部署模型。 如果你想要在本地部署 Flowise 并实现远程访问,可以按照以下步骤进行操作。 1. 环境准备 首先确保你的系统具备以下条件: 安装 Docker 在 …

    2024年11月24日
    00
  • Flutter 在 PC 端多窗口支持方面的进展备受关注的功能,已在 Ubuntu/Canonical 展示

    Flutter 在 PC 端多窗口支持方面的进展是一个备受关注的功能,它的目标是进一步提升 Flutter 的跨平台能力。最近,Flutter 团队与 Canonical 合作,在 Ubuntu 平台上展示了多窗口功能的新成果。这一进展对开发者和终端用户来说都有重要意义,以下是相关细节分析: 展示细节多窗口功能亮相Flutter 的多窗口支持在 Ubuntu…

    2024年12月2日
    00
  • AI视觉领域优秀的开源项目和框架

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

    2024年11月24日
    00
  • Apache Flink 分布式流处理框架中API的使用部分

    Apache Flink 是一个分布式流处理框架,支持批处理和流处理。在 Flink 中,API 是核心部分,允许用户定义数据流处理逻辑、配置作业并执行操作。Flink 提供了多种 API 来满足不同的需求,包括 DataStream API、DataSet API(批处理 API)、Table API 和 SQL API。1. Flink DataStre…

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

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

    2024年11月23日
    00
  • 远程访问 VMware ESXi 主机的方法

    远程访问 VMware ESXi 主机可以通过以下几种方式实现。具体方法取决于你的网络环境和目标需求,例如是否有公网 IP,是否需要加密传输等。以下是详细教程: 1. 基于公网 IP 的直接访问 1.1 适用场景 1.2 操作步骤 2. 使用 VPN 隧道访问 2.1 适用场景 2.2 操作步骤 3. 配置跳板机访问 3.1 适用场景 3.2 操作步骤 远程…

    2024年11月24日
    00
  • 在 Spring Boot 中实现 Callback 回调的常用方法

    在 Spring Boot 中实现 Callback(回调) 通常用于处理外部系统调用你的服务接口。例如,当一个第三方服务完成某项操作后通知你的应用完成结果。以下是实现回调的完整流程: 1. 回调的基本流程 2. 示例代码 2.1 创建回调接口 假设第三方服务会通过 POST 请求回调数据到 /callback,并发送如下 JSON 数据: 实现代码如下: …

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

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

    2024年11月28日
    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
  • Android Studio 国内镜像,加速下载和构建过程

    在国内使用 Android Studio 时,由于访问 Google 的官方资源(如 Gradle 和 SDK)速度较慢甚至无法访问,可以通过配置国内镜像源来加速下载和构建过程。以下是详细配置步骤: 1. 配置 Gradle 国内镜像 Gradle 是 Android Studio 构建项目的重要工具,其依赖库通常托管在 Google Maven 和 JCe…

    2024年11月25日
    00

发表回复

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

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信