Windows上使用vscode配置C/C++编译环境

GCC和GDB

一句话概括:gcc用来编译C,gdb用来调试C。

  • GCC (GNU Compiler Collection)

GCC(GNU编译器套件)是一个由GNU项目开发的编译器系统,支持多种编程语言,如C、C++、Objective-C、Fortran、Ada和Go等。GCC是自由软件,遵循GNU通用公共许可证(GPL)。它最初是为GNU操作系统开发的,但现在几乎所有类Unix系统,包括Linux,都在使用GCC。

  • GDB (GNU Debugger)

GDB(GNU调试器)是一个由GNU项目开发的调试工具,用于调试程序的运行和排除错误。GDB支持多种编程语言,如C、C++、Fortran、Ada和Pascal等。它也遵循GNU通用公共许可证(GPL)。

MinGW-w64(Minimalist GNU for Windows, 64-bit)

是一个用于在Windows操作系统上开发和运行原生Windows应用程序的编译器套件。它是MinGW(Minimalist GNU for Windows)的扩展版本,支持64位系统,并增加了一些额外的功能。

组成部分

  1. GCC编译器:用于将源代码编译成可执行文件。
  2. binutils:包含链接器、汇编器等工具。
  3. 运行时库:提供标准C库、C++库和其他必要的运行时库。
  4. 头文件和链接库:用于支持Windows API的开发。

安装

MinGW-w64可以通过多种方式安装,如通过msys2、官方安装包或者其他包管理工具。

MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net可以直接使用这个网址去下载,但是我使用的Windows电脑,下载不了,所以我使用另一种方式下载,如果你可以下载,后续配置gcc和gdb都是相同的步骤,只是下载方式不一样。

以下是通过msys2安装MinGW-w64的步骤:

下载 MSYS2

 MSYS2下载步骤根据官网来,记住下载的位置。

更新软件包数据库和基本系统

  • 打开 MSYS2 Shell(在开始菜单中找到 MSYS2 MinGW 64-bit)。
  • 运行以下命令更新软件包数据库和基本系统:
pacman -Syu

安装 GCC 和 GDB

pacman -S mingw-w64-ucrt-x86_64-gcc

pacman -S mingw-w64-ucrt-x86_64-gdb

配置环境变量

  1. 打开系统属性

    • Win + R 键,输入 sysdm.cpl 并按 Enter。
    • 或者直接搜索系统环境变量。
  2. 编辑环境变量

    • 在“系统属性”窗口中,点击“高级”选项卡,然后点击“环境变量”。
    • 在“系统变量”部分,找到并选择 Path,然后点击“编辑”。
    • 点击“新建”,添加 MSYS2 的 bin 目录路径,例如:
C:\msys64\mingw64\bin

验证路径配置

  1. 打开命令提示符

    • Win + R 键,输入 cmd 并按 Enter。
  2. 检查 GCC 和 GDB 版本

    • 在命令提示符中输入以下命令,并按 Enter:如果路径配置正确,你应该会看到 GCC 和 GDB 的版本信息。
gcc --version
gdb --version

在 VS Code 中配置 GCC 和 GDB

安装 C/C++ 扩展

  • 打开 VS Code。
  • 点击左侧活动栏中的扩展图标(或按 Ctrl+Shift+X)。
  • 在搜索框中输入 C/C++,选择由 Microsoft 提供的 C/C++ 扩展并安装。

1. 创建任务配置文件

  1. 打开 VS Code

    • 打开你的工作区或创建一个新的文件夹。
  2. 创建 tasks.json 文件

    • 在 VS Code 中,打开命令面板(按 Ctrl+Shift+P),输入 Tasks: Configure Task 并选择它。
    • 选择 Create tasks.json file from template,然后选择 Others
  3. 编辑 tasks.json 文件

    • 在工作区根目录的 .vscode 文件夹中,编辑 tasks.json 文件,添加以下内容:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build C Program",          // 任务标签,用于在 VS Code 中选择任务
      "type": "shell",                     // 任务类型,这里是 shell 命令
      "command": "gcc",                    // 要运行的命令,这里是 GCC 编译器
      "args": [                            // 传递给命令的参数列表
        "-g",                              // 生成调试信息
        "${file}",                         // 要编译的源文件
        "-o",                              // 输出文件选项
        "${fileDirname}\\${fileBasenameNoExtension}.exe"  // 输出可执行文件的路径和名称
      ],
      "group": {                           // 任务分组
        "kind": "build",                   // 任务类型,这里是构建任务
        "isDefault": true                  // 是否是默认任务
      },
      "problemMatcher": ["$gcc"],          // 用于解析 GCC 编译器输出的错误和警告
      "detail": "Generated task to build C program using gcc"  // 任务的详细描述
    }
  ]
}
 

2. 配置调试器

  1. 创建 launch.json 文件

    • 在 VS Code 中,打开命令面板(按 Ctrl+Shift+P),输入 Debug: Open launch.json 并选择它。
    • 如果没有 launch.json 文件,选择 C++ (GDB/LLDB)
  2. 编辑 launch.json 文件

    • .vscode 文件夹中,编辑 launch.json 文件,添加以下内容:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch",                            // 调试配置的名称
      "type": "cppdbg",                            // 调试器类型(用于 C++ 调试)
      "request": "launch",                         // 调试请求类型,这里是启动程序
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // 要调试的程序路径
      "args": [],                                  // 启动程序时的命令行参数
      "stopAtEntry": false,                        // 是否在程序入口处停下
      "cwd": "${workspaceFolder}",                 // 程序的工作目录
      "environment": [],                           // 环境变量
      "externalConsole": false,                     // 是否使用外部控制台运行程序
      "MIMode": "gdb",                             // 调试模式,这里是使用 GDB
      "setupCommands": [                           // 调试器启动前执行的命令
        {
          "description": "Enable pretty-printing for gdb",  // 命令描述
          "text": "-enable-pretty-printing",      // 启用 GDB 的漂亮打印
          "ignoreFailures": true                  // 忽略失败
        }
      ],
      "preLaunchTask": "Build C Program",          // 调试前执行的任务,这里是编译程序
      "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",  // GDB 调试器路径
      "logging": {
        "engineLogging": true                     // 启用引擎日志记录
      }
    }
  ]
}

3. 检查代码

创建一个hello.c的文件,这里最容易出的错就是头文件找不到。
#include <stdio.h>

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

常见问题解决

  • 路径错误:确保路径使用双反斜杠 \\ 或单斜杠 /
  • 环境变量:确保 Path 中包含 C:/msys64/mingw64/bin
  • 文件找不到的问题通常是由于 IntelliSense 未正确配置导致的,以下是解决办法
配置 IntelliSense
创建 c_cpp_properties.json
  1. 打开 VS Code 并进入工作区
  2. 打开命令面板(按 Ctrl+Shift+P),输入 C/C++: Edit Configurations (UI) 并选择它。
  3. 如果提示创建 c_cpp_properties.json 文件,选择 Yes
  4. .vscode 文件夹中找到 c_cpp_properties.json 文件,添加或修改如下配置:
{
  "configurations": [
    {
      "name": "Win32",                     // 配置名称,可以在 VS Code 中选择这个配置
      "includePath": [                     // 头文件搜索路径
        "${workspaceFolder}/**",           // 当前工作区文件夹中的所有子文件夹
        "C:/msys64/mingw64/include",       // MSYS2 MinGW 64 的头文件路径
        "C:/msys64/usr/include",           // MSYS2 用户头文件路径
        "C:/msys64/mingw64/x86_64-w64-mingw32/include"  // MSYS2 MinGW 64 特定的头文件路径
      ],
      "defines": [                         // 预定义的宏
        "_DEBUG",                          // 表示调试模式
        "UNICODE",                         // 使用 Unicode 字符集
        "_UNICODE"                         // 使用 Unicode 字符集
      ],
      "windowsSdkVersion": "10.0.18362.0", // Windows SDK 版本
      "compilerPath": "C:/msys64/mingw64/bin/gcc.exe",  // 编译器路径
      "cStandard": "c11",                  // C 语言标准版本
      "cppStandard": "c++17",              // C++ 标准版本
      "intelliSenseMode": "windows-gcc-x64"  // IntelliSense 模式,这里是 Windows 上的 GCC x64
    }
  ],
  "version": 4                             // 配置文件版本
}
  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VSCode配置C/C++编译环境,你可以按照以下步骤进行操作: 1. 首先,确保你已经在Windows上安装了MinGW-w64。你可以从官方网站下载并安装MinGW-w64。 2. 打开VSCode,点击左侧的扩展按钮(或按下Ctrl + Shift + X),搜索并安装"C/C++"扩展。 3. 安装完毕后,点击左侧的资源管理器按钮(或按下Ctrl + Shift + E),选择一个C/C++项目文件夹作为工作目录。 4. 在资源管理器中右键单击工作目录,选择"在终端中打开",打开集成终端。 5. 在终端中输入以下命令,安装并配置C/C++编译器: ``` mingw-w64-install.exe ``` 这将打开MinGW-w64安装程序。按照向导的指示完成安装。 6. 安装完成后,在VSCode中打开"任务"菜单,选择"配置任务",然后选择"终端:其他任务"。 7. 在tasks.json文件中,将以下代码复制并粘贴到tasks.json中: ```json { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "group": { "kind": "build", "isDefault": true } } ] } ``` 这个任务配置使用g++编译编译你的C/C++代码。 8. 保存并关闭tasks.json文件。 现在,你已经成功配置VSCode的C/C++编译环境。你可以在VSCode中打开一个C/C++源文件,然后按下Ctrl + Shift + B来构建你的项目。 你还可以安装一些其他的插件来增强你的开发体验,例如Code Runner和C/C++ Intellisense。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值