Windows 系统中使用 VSCode 配置 C/C++ 开发环境教程

Windows 系统中使用 VSCode 配置 C/C++ 开发环境,可以高效编写和调试代码。以下是详细步骤:

1. 安装必要工具

1.1 安装 VSCode

1.2 安装 C/C++ 编译器

推荐使用 MinGW-w64

  1. 下载 MinGW-w64 安装程序:MinGW-w64 下载页面.
  2. 安装时选择 “x86_64” 架构和默认选项。
  3. 将 MinGW 的 bin 目录路径(如 C:\mingw-w64\...\bin)添加到环境变量 PATH 中。

验证是否安装成功:

gcc --version
g++ --version

2. 安装 VSCode 插件

打开 VSCode 的扩展市场(Ctrl+Shift+X),搜索并安装以下插件:

  1. C/C++(Microsoft 提供)
  2. Code Runner(可快速运行代码,非必需)
  3. CMake Tools(如需要 CMake 项目)

3. 配置环境

3.1 配置任务

在 VSCode 中创建一个 tasks.json 文件,用于编译代码。

  1. 打开命令面板 (Ctrl+Shift+P),选择 Tasks: Configure Default Build Task > Create tasks.json file from template > 选择 Others
  2. 编辑 .vscode/tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build C++",
      "type": "shell",
      "command": "g++",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "problemMatcher": ["$gcc"],
      "detail": "Generated task for compiling C++ files"
    }
  ]
}

3.2 配置调试

创建一个 launch.json 文件,用于调试代码。

  1. 打开命令面板 (Ctrl+Shift+P),选择 Debug: Open launch.json
  2. 选择 C++ (GDB/LLDB)
  3. 编辑 .vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug C++",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": true,
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\mingw-w64\\bin\\gdb.exe", 
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

确保 miDebuggerPath 路径正确指向 MinGW 的 gdb.exe

4. 编写和运行代码

4.1 创建简单程序

创建一个 .cpp 文件,例如 main.cpp

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}

4.2 编译与运行

  • Ctrl+Shift+B 构建项目。
  • F5 启动调试模式。
  • 或者使用 Code Runner 插件 运行代码。

5. 常见问题

  1. MinGW 环境变量未配置 如果运行 gccg++ 提示找不到命令,请确保 MinGW/bin 已正确添加到环境变量。
  2. 调试器无法启动 确保 launch.json 中的 miDebuggerPath 指向正确的 gdb.exe 路径。
  3. 中文乱码 在终端中输出中文可能出现乱码,建议在代码中设置编码:
#include <io.h>
#include <fcntl.h>
_setmode(_fileno(stdout), _O_U16TEXT);
wcout << L"你好,世界!" << endl;

通过以上步骤,您可以在 Windows 系统上成功搭建 VSCode 的 C/C++ 开发环境,并高效进行编译与调试。如果需要其他功能(如多文件项目或使用 Makefile),可进一步配置。

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

Like (0)
Previous 2024年11月26日 上午11:54
Next 2024年11月26日 下午12:13

相关推荐

  • 若依集成 X-File-Storage 框架(实现图片上传阿里云 OSS 服务器)

    若依(Ruoyi)是一款基于 Spring Boot 的企业级开发框架,在此框架中集成 X-File-Storage 框架来实现图片上传到阿里云 OSS(对象存储服务)是一个常见的需求。通过这个集成,你可以便捷地将图片或文件上传到阿里云 OSS,并在系统中管理和访问这些文件。以下是详细的步骤说明: 1. 安装 X-File-Storage 框架 X-File…

    2024年11月25日
    00
  • Unity 项目升级URP/HDRP渲染管线时如何解决材质丢失问题

    在 Unity 项目中升级到 URP(通用渲染管线) 或 HDRP(高清渲染管线) 后,材质丢失是一个常见问题。这通常是因为原来的材质或着色器不兼容新渲染管线,需要手动调整或重新配置。以下是详细的解决方法: 1. 理解渲染管线的变化 2. 自动转换材质(官方工具) Unity 提供了从 Built-in 渲染管线迁移到 URP 或 HDRP 的官方工具,可以…

    2024年11月25日
    00
  • 2024.11 HarmonyOS 应用开发者基础认证

    HarmonyOS应用开发者基础认证(HCIA-HarmonyOS Application Developer)是华为认证体系的一部分,旨在考察开发者对HarmonyOS基础知识、开发技能及生态了解的掌握情况。以下是2024年11月该认证相关内容的基本介绍与准备建议: 认证内容 知识点覆盖 考试细节 1. 认证级别 2. 考试形式 3. 考试时长 4. 分数…

    2024年11月22日
    00
  • 在Java中 ArrayList 和 LinkedList 实现 List 接口类

    在Java中,ArrayList 和 LinkedList 都是实现了 List 接口的类,但它们在底层实现和使用场景上有显著的区别。以下是它们的主要区别: 1. 底层实现ArrayList基于动态数组实现。元素是连续存储的,每个元素都可以通过索引直接访问。LinkedList基于双向链表实现。每个元素由节点(Node)存储,节点包含数据和前后节点的引用。 …

    2024年12月2日
    00
  • 在 Delphi 中创建一个像 C# 那样的 DLL 类库(即面向对象的 DLL)

    在 Delphi 中创建一个像 C# 那样的 DLL 类库(即面向对象的 DLL)可以通过以下步骤实现:1. 创建 Delphi DLL 项目打开 Delphi。选择 File > New > Other > Dynamic-Link Library。在新项目中,默认生成的代码通常是 exports 部分,其中包含了 DLL 导出的函数。2. 定义类你可以在…

    2024年11月29日
    00
  • C++ STL vector 类:动态数组的高效应用

    vector 是 C++ 标准库(STL)中最常用的容器之一,它提供了一个动态数组的实现,能够根据需要自动扩展或收缩。vector 是一个线性数据结构,具有高效的随机访问能力和动态扩展能力,广泛应用于需要频繁增删元素且对随机访问要求较高的场景。 1. vector 类简介 vector 是 C++ 标准模板库(STL)中提供的一种容器类,它类似于动态数组(d…

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

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

    2024年12月8日
    00
  • 在Ubuntu上安装RabbitMQ 的简单过程

    在Ubuntu上安装RabbitMQ是一个简单的过程,以下是详细步骤: 1. 更新系统包 2. 添加 RabbitMQ 和 Erlang 的官方存储库 RabbitMQ 依赖于 Erlang,因此需要确保安装正确版本的 Erlang。 2.1. 安装必要的依赖项 2.2. 添加 Erlang 存储库 2.3. 添加 RabbitMQ 存储库 3. 更新包列表…

    2024年11月22日
    00
  • uni-app 中的一个 API,uni.getLocation用于获取用户的地理位置信息

    uni.getLocation 是 uni-app 中的一个 API,用于获取用户的地理位置信息。它可以通过 GPS 或网络方式获取当前位置,并提供包括经纬度、速度、精度等信息。这个 API 在移动端(如安卓、iOS)和 H5 平台上均可使用。基本语法 参数说明type(可选):指定位置的坐标类型。支持 ‘wgs84’ 和 ‘gcj02’,默认值为 ‘wgs…

    2024年11月28日
    00
  • Windows 远程桌面连接时出现报错 “由于没有远程桌面授权服务器可以提供许可证” 的问题

    Windows 远程桌面连接时出现报错 “由于没有远程桌面授权服务器可以提供许可证” 的问题,通常是由于以下原因之一: 以下是解决该问题的步骤: 1. 删除客户端缓存的许可证远程桌面客户端会缓存许可证信息,可能会因为缓存问题导致连接失败。操作步骤:打开本地计算机的 注册表编辑器:按下 Win + R,输入 regedit,回车。导航到以下路径: 删除 MSL…

    2024年11月28日
    00
  • Python 的 json模块序列化数据从文件里读取出来或存入文件

    Python 的 json 模块用于处理 JSON 格式的数据,可以将 JSON 数据与 Python 数据结构之间相互转换。以下是具体用法,包括从文件读取 JSON 数据以及将数据写入文件: 1. 将 JSON 数据从文件中读取到 Python 数据结构 代码示例: 解析过程: 2. 将 Python 数据结构写入到文件中(序列化为 JSON) 代码示例:…

    2024年11月26日
    00
  • 在 Ubuntu 20.04 上安装 CUDA (Compute Unified Device Architecture) 支持 NVIDIA GPU 的加速计算

    在 Ubuntu 20.04 上安装 CUDA (Compute Unified Device Architecture) 是为了支持 NVIDIA GPU 的加速计算。下面是详细的步骤,包括安装 CUDA、相关驱动以及 cuDNN(用于深度学习的库)。 步骤 1:检查系统要求 步骤 2:安装 NVIDIA 驱动 2. 添加 NVIDIA PPA: 你可以使…

    2024年11月24日
    00
  • 在使用 HBase 时,遇到 Unable to find region for 错误问题

    在使用 HBase 时,遇到 Unable to find region for 错误通常是由于以下几个原因引起的:HBase RegionServer 未启动或无法连接表的 Region 分布信息不一致Zookeeper 配置问题客户端连接配置问题HBase 版本不兼容下面是一些常见的原因和解决办法:1. 确保 HBase 服务正常运行首先检查你的 HBa…

    2024年11月29日
    00
  • Redis中如何使用lua脚本redis与lua的相互调用方法

    在 Redis 中,Lua 脚本 提供了一种强大的方式来执行原子操作,可以在 Redis 服务器上直接执行 Lua 代码,从而避免了多次网络往返和保证操作的原子性。Redis 内置了对 Lua 脚本的支持,通过 EVAL 命令来执行脚本,EVALSHA 则用于执行已经加载到 Redis 服务器的脚本。1. Redis 与 Lua 脚本的基本交互1.1 基本的…

    2024年11月28日
    00
  • Android Studio 国内镜像,加速下载和构建过程

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

    2024年11月25日
    00

发表回复

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

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信