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之前运行的任务名
        }
    ]
}
相关推荐
im_AMBER2 小时前
c回顾 03
c语言·学习
代码村新手2 小时前
C语言-指针
c语言·开发语言·jvm
Nuyoah11klay3 小时前
华清远见25072班C++学习day3
c++
一点都不方女士3 小时前
.NET Framework 4.0.30319:官方下载与常见问题解决指南
c++·windows·.net·动态链接库·运行库
我的xiaodoujiao3 小时前
Windows系统Web UI自动化测试学习系列3--浏览器驱动下载使用
前端·windows·测试工具·ui
静水流深-刘申3 小时前
算法继续刷起-2025年09月26日
开发语言·c++·算法
平平无奇。。。4 小时前
C++11之异常
开发语言·c++·visual studio
La Pulga4 小时前
【STM32】ADC数模转换器
c语言·stm32·单片机·嵌入式硬件·mcu
我叫黑大帅5 小时前
什么是 mmap?
linux·c++·操作系统