Windows配置C/C++环境:MinGW+Vscode

Windows配置C/C++环境

  • 主要分为编译器(编译工具链)编辑器的配置
  • 编译工具链:MinGw-w64
  • 编辑器:VSCode

1. 编译工具

1.1 MinGw-w64安装

通过MSYS2安装

  1. 下载MSYS2:MSYS2

  2. 打开MSYS2执行下面的指令

    bash 复制代码
    pacman -Syu
    pacman -S --needed base-devel mingw-w64-x86_64-toolchain

如果在这个地方报错了,比如你就再试一下,可能是网络不好

bash 复制代码
error: failed retrieving file 'binutils-2.45-1-x86_64.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
error: failed retrieving file 'mingw-w64-x86_64-tcl-8.6.16-1-any.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
error: failed retrieving file 'mingw-w64-x86_64-expat-2.7.3-1-any.pkg.tar.zst' from mirror.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
warning: too many errors from mirror.msys2.org, skipping for the remainder of this transaction
error: failed retrieving file 'binutils-2.45-1-x86_64.pkg.tar.zst.sig' from repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
error: failed retrieving file 'mingw-w64-x86_64-expat-2.7.3-1-any.pkg.tar.zst.sig' from repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
error: failed retrieving file 'mingw-w64-x86_64-bzip2-1.0.8-3-any.pkg.tar.zst' from repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
warning: too many errors from repo.msys2.org, skipping for the remainder of this transaction
error: failed retrieving file 'mingw-w64-x86_64-libtre-0.9.0-1-any.pkg.tar.zst' from repo.msys2.org : Operation too slow. Less than 1 bytes/sec transferred the last 10 seconds
warning: failed to retrieve some files
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.

1.2 配置环境变量

将 MinGW 的 bin 目录添加到 PATH

例如:C:\msys64\mingw64\bin

  • 右键"此电脑" → 属性 → 高级系统设置 → 环境变量

1.3 检查

打开你的Powshell,输入gcc -v,显示得到版本就行,g++gdb同理

2. 编辑器

2.1 VScode下载

Download Visual Studio Code - Mac, Linux, Windows

2.2 插件安装

插件商店搜索下面的进行安装就行:

  • C/C++ Extension Pack

2.3 JSON文件编写

具体参考我的另外一篇笔记:

需要有这写.vscode文件,常用快捷键如下

  • 编译:ctrl + shift +B
  • 调试:F5

编译的时候选择你要执行的任务,这个在task.json的lable中有写;

在这我就贴出我常用的JSON模板

  • task.json
json 复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build main.exe",
            "type": "shell",
            "command": "g++",
            "args": 
            [
                "-std=c++20",
                "-o",
                "${workspaceFolder}/main",
                "${workspaceFolder}/hot100/189_rotate.cpp"
            ],
            "group": "build"
        },
        {
            "type": "cppbuild",
            "label": "build main.out",
            "command": "g++",
            "args":
            [
                "-std=c++20",
                "-g",
                "-o",
                "${workspaceFolder}/main.out",
                "${workspaceFolder}/hot100/189_rotate.cpp"
            ],
            "group": {
                "kind": "build",
                "isDefault": false
            },
            "detail": "Task generated by Debugger."
        }
    ]
  • launch.json
json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/main.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build main.out" //在launch之前运行的任务名
        }
    ]
}
相关推荐
2601_949146534 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
在路上看风景4 小时前
19. 成员初始化列表和初始化对象
c++
zmzb01034 小时前
C++课后习题训练记录Day98
开发语言·c++
念风零壹5 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
c++
孞㐑¥6 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
知南x6 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
AI袋鼠帝7 小时前
Claude4.5+Gemini3 接管电脑桌面,这回是真无敌了..
人工智能·windows·aigc
MZ_ZXD0017 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
獨枭8 小时前
Windows 下安装与使用 Miniconda 完整指南
windows
2的n次方_8 小时前
Runtime 执行提交机制:NPU 硬件队列的管理与任务原子化下发
c语言·开发语言