首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >在Windows上使用VS Code和MinGW配置C++开发环境

在Windows上使用VS Code和MinGW配置C++开发环境

原创
作者头像
码事漫谈
发布2025-07-20 20:03:36
发布2025-07-20 20:03:36
4.5K0
举报
文章被收录于专栏:程序员程序员
image.png
image.png

本文将介绍如何在Windows系统上使用MinGW-w64工具链配置VS Code,实现C++代码的编译、运行和调试功能。

准备工作

系统要求

  • Windows 10或11 64位系统
  • 至少1GB可用内存
  • 5GB以上磁盘空间

步骤一:安装MinGW-w64工具链

MinGW-w64是Windows平台上的GNU编译器集合,提供了GCC编译器和GDB调试器。推荐通过MSYS2安装,以获得最新版本和便捷的包管理。

安装MSYS2

  1. 访问MSYS2官方网站,下载最新安装程序(如msys2-x86_64-20250622.exe
  2. 运行安装程序,选择安装路径(建议使用短路径如C:\msys64,避免中文和空格)
  3. 安装完成后,启动UCRT64终端(开始菜单中搜索"MSYS2 UCRT64")

配置国内镜像(可选)

为加速下载,建议配置国内镜像源:

  1. 打开MSYS2终端,编辑镜像配置文件:notepad /etc/pacman.d/mirrorlist.mingw
  2. 在文件开头添加清华大学镜像源:Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/$repo/
  3. 保存文件并关闭记事本

安装MinGW-w64工具链

在MSYS2终端中执行以下命令安装完整工具链:

代码语言:bash
复制
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

按Enter确认安装,等待完成(约需要1-2GB下载空间)

image.png
image.png

步骤二:配置环境变量

  1. 打开系统环境变量设置:
    • 按下Win + R,输入sysdm.cpl并回车
    • 切换到"高级"选项卡,点击"环境变量"
    • 在"系统变量"中找到Path,点击"编辑"
  2. 添加MinGW-w64路径:
    • 点击"新建",添加C:\msys64\mingw64\bin(根据实际安装路径调整)
    • 点击"确定"保存所有对话框
  3. 验证安装:
    • 打开新的命令提示符(cmd)
    • 输入以下命令验证版本:g++ --version gdb --version
    • 若显示版本信息,则安装成功

步骤三:安装VS Code及扩展

安装VS Code

  1. 访问VS Code官网下载安装程序
  2. 运行安装程序,建议勾选"添加到PATH"选项
  3. 按照向导完成安装

安装必要扩展

打开VS Code后:

  1. 按下Ctrl + Shift + X打开扩展面板
  2. 搜索并安装以下扩展:
    • C/C++ (Microsoft官方扩展)
    • Code Runner (可选,快速运行代码)
    • Chinese (Simplified) (可选,中文界面)

步骤四:创建C++项目并配置

创建项目结构

  1. 创建项目文件夹(如C:\CppProjects\HelloWorld
  2. 在VS Code中打开该文件夹(文件 > 打开文件夹
  3. 创建源代码文件:右键点击文件夹 > 新建文件 > 命名为main.cpp

编写示例代码

main.cpp中输入以下代码:

代码语言:cpp
复制
#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};
    int sum = 0;
    
    for (int num : numbers) {
        sum += num;
    }
    
    std::cout << "Hello, VS Code with MinGW!" << std::endl;
    std::cout << "Sum of numbers: " << sum << std::endl;
    
    return 0;
}

配置编译任务 (tasks.json)

  1. 按下Ctrl + Shift + P打开命令面板
  2. 输入Tasks: Configure Default Build Task并选择
  3. 选择C/C++: g++.exe 生成活动文件
  4. 替换生成的tasks.json内容:
代码语言:json
复制
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-fexec-charset=GBK"  // 解决中文输出乱码问题
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": ["$gcc"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "编译器: C:\\msys64\\mingw64\\bin\\g++.exe"
        }
    ]
}

配置调试设置 (launch.json)

  1. 切换到"运行和调试"面板(Ctrl + Shift + D)
  2. 点击"创建launch.json文件",选择"C++ (GDB/LLDB)"
  3. 选择"g++.exe 生成和调试活动文件"
  4. 修改launch.json内容:
代码语言:json
复制
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,  // 使用外部控制台窗口
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

配置IntelliSense (c_cpp_properties.json)

  1. 按下Ctrl + Shift + P,输入C/C++: Edit Configurations (UI)
  2. 在配置页面设置:
    • 编译器路径C:\msys64\mingw64\bin\g++.exe
    • C标准:c17
    • C++标准:c++17
  3. 自动生成的c_cpp_properties.json如下:
代码语言:json
复制
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "C:/msys64/mingw64/bin/g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

步骤五:编译、运行与调试

编译代码

  1. 确保main.cpp为活动文件
  2. 按下Ctrl + Shift + B运行编译任务
  3. 成功后在终端会显示编译结果,生成.exe文件

运行程序

方法一:通过VS Code终端

  1. 打开集成终端(Ctrl +
  2. 输入.\main.exe并回车

方法二:通过Code Runner(若已安装)

  1. 右键点击编辑区
  2. 选择"Run Code"

调试程序

  1. 在代码行号旁点击设置断点(出现红色圆点)
  2. 按下F5启动调试
  3. 调试控制栏出现,包含继续、单步、退出等按钮
  4. 在"变量"面板可查看当前变量值
  5. 在"监视"面板可添加需要监视的变量

常见问题解决

问题1:中文输出乱码

解决方案:在tasks.json的args中添加:

代码语言:json
复制
"-fexec-charset=GBK"

问题2:编译多文件项目

修改tasks.json中的args:

代码语言:json
复制
"args": [
    "-g",
    "${workspaceFolder}/*.cpp",  // 编译所有cpp文件
    "-o",
    "${workspaceFolder}/main.exe",
    "-fexec-charset=GBK"
]

问题3:MSYS2通配符支持问题

2024年11月后MSYS2默认禁用通配符扩展,解决方案:

方法一:在代码中添加:

代码语言:cpp
复制
int _dowildcard = -1;  // 放在main函数前

方法二:修改tasks.json,添加链接选项:

代码语言:json
复制
"args": [
    "-g",
    "${file}",
    "-o",
    "${fileDirname}/${fileBasenameNoExtension}.exe",
    "\"$(gcc -print-file-name=crt_glob.o)\""
]

问题4:调试时无法命中断点

确保:

  1. 编译时包含-g参数(已在tasks.json中配置)
  2. launch.json中的program路径正确
  3. 源代码文件未被移动或重命名

进阶技巧

使用Makefile管理项目

对于复杂项目,建议使用Makefile:

  1. 在项目根目录创建Makefile:CC = g++ CFLAGS = -g -Wall -std=c++17 -fexec-charset=GBK SRC = $(wildcard *.cpp) OBJ = $(SRC:.cpp=.o) TARGET = main.exe all: $(TARGET) $(TARGET): $(OBJ) $(CC) $(CFLAGS) -o $@ $(OBJ) %.o: %.cpp $(CC) $(CFLAGS) -c $< -o $@ clean: del /Q $(OBJ) $(TARGET)
  2. 在VS Code中配置任务使用make:{ "label": "Make", "type": "shell", "command": "mingw32-make", "group": { "kind": "build", "isDefault": true } }

代码格式化

安装C/C++ Clang Command Adapter扩展,配置自动格式化:

  1. 在设置中搜索format on save,勾选启用
  2. 设置默认格式化器为Clang

总结

通过以上步骤,你已成功在Windows系统上配置了基于VS Code和MinGW-w64的C++开发环境。这个环境支持代码编辑、智能提示、编译构建和调试功能,满足C++学习和小型项目开发需求。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
    • 系统要求
  • 步骤一:安装MinGW-w64工具链
    • 安装MSYS2
    • 配置国内镜像(可选)
    • 安装MinGW-w64工具链
  • 步骤二:配置环境变量
  • 步骤三:安装VS Code及扩展
    • 安装VS Code
    • 安装必要扩展
  • 步骤四:创建C++项目并配置
    • 创建项目结构
    • 编写示例代码
    • 配置编译任务 (tasks.json)
    • 配置调试设置 (launch.json)
    • 配置IntelliSense (c_cpp_properties.json)
  • 步骤五:编译、运行与调试
    • 编译代码
    • 运行程序
    • 调试程序
  • 常见问题解决
    • 问题1:中文输出乱码
    • 问题2:编译多文件项目
    • 问题3:MSYS2通配符支持问题
    • 问题4:调试时无法命中断点
  • 进阶技巧
    • 使用Makefile管理项目
    • 代码格式化
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档