首页/新闻资讯/正文详情

Msys2 + VSCode 配置 Windows 下的 C/C++ 开发环境

发布时间:2026/9/26 9:21:16 来源:云帆数科 栏目:资讯中心
Msys2 + VSCode 配置 Windows 下的 C/C++ 开发环境
1. 引言在 Windows 上进行 C/C 开发很多初学者会直接使用 Visual Studio但它的体积庞大、启动缓慢而且对于轻量级项目或算法竞赛来说显得过于笨重。而Msys2 VSCode的组合凭借其轻量、灵活、可定制性强的特点正成为越来越多开发者的首选。Msys2 提供了一个类 Unix 的软件包管理环境可以方便地安装 GCC、GDB、Make 等工具链而 VSCode 则是一款轻量但功能强大的代码编辑器。两者结合你可以在 Windows 上获得接近 Linux 的原生开发体验。本文将手把手带你从零开始完成 Msys2 的安装、工具链配置、VSCode 环境搭建并最终成功运行你的第一个 C/C 程序。2. 准备工作在开始之前请确保你的电脑满足以下条件操作系统Windows 10 或 Windows 1164 位网络环境能够正常访问互联网因为需要下载安装包和更新软件源磁盘空间至少预留 2GB 可用空间Msys2 基础安装约 500MB加上工具链和依赖会更多3. 安装 Msys23.1 下载与安装打开浏览器访问 Msys2 官方网站https://www.msys2.org/在页面中找到下载链接选择msys2-x86_64-*.exe安装包下载。双击运行安装程序建议安装到默认路径C:\msys64也可以自定义路径但路径中不要包含中文或空格否则后续可能出现兼容性问题。安装完成后勾选「Run MSYS2 now」启动 MSYS2 终端。3.2 更新软件包首次启动后需要更新软件包数据库和核心组件。在 MSYS2 终端中依次执行以下命令pacman-Sy然后更新所有已安装的软件包pacman-Su提示如果提示需要关闭终端才能完成更新请关闭所有 MSYS2 窗口后重新打开再执行一次pacman -Su确认更新完成。4. 安装 C/C 工具链4.1 安装 GCC 编译器在 MSYS2 终端中执行以下命令安装 GCC 编译器、GDB 调试器和 Make 构建工具pacman-Smingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make这里使用的是MinGW-w64版本的 GCC它编译出的程序可以直接在 Windows 上运行不依赖 MSYS2 环境。4.2 安装 CMake可选如果你打算使用 CMake 来管理项目可以一并安装pacman-Smingw-w64-x86_64-cmake mingw-w64-x86_64-ninja4.3 验证安装安装完成后在 MSYS2 终端中验证编译器是否正常工作gcc--version如果能看到类似gcc (GCC) 13.x.x的版本信息说明 GCC 安装成功。5. 配置环境变量为了让 VSCode 的终端和系统命令行也能直接使用gcc、g、gdb等命令需要将 MinGW-w64 的bin目录添加到系统环境变量中。打开「此电脑」→ 右键 →「属性」→「高级系统设置」→「环境变量」。在「系统变量」中找到Path点击「编辑」。点击「新建」添加以下路径如果你的 Msys2 安装在其他位置请对应修改C:\msys64\mingw64\bin点击「确定」保存然后重新打开所有终端窗口包括 VSCode使环境变量生效。验证方式在 CMD 或 PowerShell 中输入gcc--version如果同样能显示版本信息说明环境变量配置成功。6. 安装与配置 VSCode6.1 安装 VSCode如果你还没有安装 VSCode请前往官网https://code.visualstudio.com/下载并安装。安装时建议勾选「添加到 PATH」和「在右键菜单中打开」等选项方便后续使用。6.2 安装必要插件打开 VSCode进入扩展市场CtrlShiftX搜索并安装以下插件C/C作者Microsoft提供代码补全、调试、语法高亮等核心功能C/C Extension Pack可选包含一系列 C/C 相关扩展Code Runner可选一键运行代码适合快速测试6.3 配置 C/C 插件按下CtrlShiftP打开命令面板输入C/C: Edit Configurations (UI)并回车。在弹出的配置界面中将「编译器路径」设置为C:\msys64\mingw64\bin\gcc.exe「IntelliSense 模式」选择gcc-x64。保存配置VSCode 会自动生成.vscode/c_cpp_properties.json文件。7. 创建第一个 C/C 项目7.1 新建项目文件夹在本地创建一个项目文件夹例如hello_cpp然后用 VSCode 打开该文件夹。7.2 编写代码在项目根目录下新建文件main.cpp输入以下代码#includeiostreamintmain(){std::coutHello, Msys2 VSCode!std::endl;return0;}7.3 配置构建任务为了让 VSCode 能够一键编译我们需要创建一个构建任务按下CtrlShiftP输入Tasks: Configure Default Build Task并回车。选择「C/C: g.exe build active file」。VSCode 会自动生成.vscode/tasks.json文件内容大致如下{version:2.0.0,tasks:[{type:cppbuild,label:C/C: g.exe build active file,command:C:\\msys64\\mingw64\\bin\\g.exe,args:[-fdiagnostics-coloralways,-g,${file},-o,${fileDirname}\\${fileBasenameNoExtension}.exe],options:{cwd:${fileDirname}},problemMatcher:[$gcc],group:{kind:build,isDefault:true}}]}7.4 编译运行按下CtrlShiftB执行构建任务VSCode 会在底部终端中调用g编译当前文件。编译成功后在项目目录下会生成main.exe文件。在 VSCode 终端中运行.\main.exe如果输出Hello, Msys2 VSCode!恭喜你环境配置成功8. 配置调试功能8.1 创建调试配置在main.cpp中设置断点点击行号左侧。按下F5VSCode 会提示选择调试环境选择「C (GDB/LLDB)」。选择「g.exe build and debug active file」VSCode 会自动生成.vscode/launch.json文件。8.2 调试配置示例生成的launch.json大致如下{version:0.2.0,configurations:[{name:C/C: g.exe build and debug active file,type:cppdbg,request:launch,program:${fileDirname}\\${fileBasenameNoExtension}.exe,args:[],stopAtEntry:false,cwd:${fileDirname},environment:[],externalConsole:false,MIMode:gdb,miDebuggerPath:C:\\msys64\\mingw64\\bin\\gdb.exe,setupCommands:[{description:Enable pretty-printing for gdb,text:-enable-pretty-printing,ignoreFailures:true}],preLaunchTask:C/C: g.exe build active file}]}8.3 开始调试再次按下F5程序会在断点处暂停你可以查看变量值、单步执行、查看调用栈等体验完整的调试功能。9. 常见问题与解决9.1 编译时提示g: error: ...检查环境变量是否正确配置重新打开终端。确认当前文件路径不包含中文或空格。9.2 VSCode 找不到编译器在c_cpp_properties.json中确认编译器路径是否正确。尝试重启 VSCode 或重新加载窗口CtrlShiftP→Developer: Reload Window。9.3 运行 exe 时闪退在程序末尾添加std::cin.get();暂停窗口或使用externalConsole: true让程序在独立窗口中运行。9.4 更新 Msys2 后工具链失效重新执行pacman -Su更新并确认mingw64\bin路径下的gcc.exe仍然存在。10. 总结通过本文的配置你已经成功在 Windows 上搭建了一套轻量、高效的 C/C 开发环境Msys2提供了便捷的软件包管理和类 Unix 终端体验MinGW-w64工具链让你在 Windows 上直接编译出原生可执行文件VSCode提供了现代化的代码编辑、构建和调试体验这套组合非常适合算法竞赛、嵌入式开发、学习 C/C 语法以及轻量级项目开发。后续你还可以通过pacman安装更多库如 OpenCV、Boost 等进一步扩展你的开发能力。现在开始你的 C/C 编程之旅吧

相关推荐

玉米好坏检测数据集实战:COCO标注与YOLOv8训练调优
玉米好坏检测数据集实战:COCO标注与YOLOv8训练调优

简介:这份玉米好坏检测数据集面向从事农产品品质分拣、粮食加工质检及计算机视觉算法实践的开发者与研究人员,用于训练和验证玉米粒好坏二分类或目标检测模型,解决实际场景中人工分拣效率低、标准不统一的问题。资源包共2000个文件&#xff0… · 2026/9/26 9:21:16

Move to iOS卡在准备中?9种实测有效解决方法
Move to iOS卡在准备中?9种实测有效解决方法

“Move to iOS 卡在准备中”这个报错,安卓转 iPhone 的用户应该都不陌生。我自己帮朋友处理过不下十次迁移,每次卡住的原因五花八门,有时是网络握手失败,有时是手机存储撑不住,还有时候纯粹是系统版本太老闹的。这篇文… · 2026/9/26 9:21:16

再见 Cursor!玩转 Claude Code 的 23 个实用小技巧,效率拉满!!
再见 Cursor!玩转 Claude Code 的 23 个实用小技巧,效率拉满!!

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 9:21:10

未来已来!Android Studio 的 AI Agent 配置 TaoToken 统一 Key 通道,小白也能秒变大神
未来已来!Android Studio 的 AI Agent 配置 TaoToken 统一 Key 通道,小白也能秒变大神

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:01:25

KV Cache 压缩 + Prefill-Decode 分离:TaoToken 推理降本配置实战
KV Cache 压缩 + Prefill-Decode 分离:TaoToken 推理降本配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:01:25

阿里云图形化管理工具(官方客户端、oss-browser、oss浏览器、AcceassKeyId、AccessKeySecret)
阿里云图形化管理工具(官方客户端、oss-browser、oss浏览器、AcceassKeyId、AccessKeySecret)

目录 介绍 1. 支持平台 2. 客户端下载: 3. 功能介绍: (1) AK 登录 (2) Bucket 列表 (3) 文件列表 (支持拖拽上传) (4) 授权给子用户 & 子用户登录 (5) 临时授权 & 授权码登录 (6) 归档 bucket 支持 (7) 支持自定义域名(cname 方式)访问(1.9.0 版本开始支… · 2026/9/26 10:01:19

Claude Code学术写作全流程:从文献检索到论文成稿的自动化实践
Claude Code学术写作全流程:从文献检索到论文成稿的自动化实践

1. 学术写作的痛点与这套方案的切入点搞科研的人大概都有过这种体验:一篇论文从选题到投稿,中间要经历文献检索、精读笔记、方法设计、数据分析、图表绘制、初稿撰写、反复修改、格式排版、参考文献整理、投稿信撰写、审稿意见回复……每一个环节单拎出来… · 2026/9/26 10:01:19

DeskcommCRM落地实战:从Docker部署到数据迁移与API集成
DeskcommCRM落地实战:从Docker部署到数据迁移与API集成

如果你正打算给团队上一套CRM,又不想一头扎进大厂那套复杂到劝退的配置里,DeskcommCRM可能值得你看一眼。过去三个月,我给我们那个十二人的销售加客服混合团队部署了DeskcommCRM,从Docker单机跑通,到字段设计、状态机、… · 2026/9/26 10:01:13

Kata Containers 虚拟机 I/O 限速配置:Cloud Hypervisor RateLimiterConfig 模型与令牌桶机制深度解析
Kata Containers 虚拟机 I/O 限速配置:Cloud Hypervisor RateLimiterConfig 模型与令牌桶机制深度解析

云原生容器运行时 【免费下载链接】kata-containers Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolat… · 2026/9/26 10:01:13

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码