Code::Blocks 20.03 mingw setup:C/C++入门最省心环境搭建全攻略

Code::Blocks 20.03 mingw setup:C/C++入门最省心环境搭建全攻略 简介CodeBlocks 20.03 与 MinGW 的集成安装包面向 Windows 平台上的 C 语言和 C 开发者以及嵌入式系统学习者无需复杂配置解压后即可直接打开使用。压缩包内共包含 2000 个文件主体为 Python 辅助脚本、C/C 头文件与源码h、hpp、c另有文本说明及 PDF、DOC 文档整体大小约 165MB适合作为完整开发工具链的快速部署方案。该版本对 LVGL 图形库代码提供了良好支持内置调试工具能够跟踪和检查界面逻辑执行情况配合 MinGW 的编译器与链接器可完成从编写、编译到调试的整个流程。丰富的头文件和源码示例有助于理解编译器接口与图形库调用方式目录结构清晰便于按需查找。已有 436 人学习或下载特别适合希望快速搭建环境、减少编译配置困扰的初学者也适合教师用于课堂演示和嵌入式项目原型验证。 不用装这装那Code::Blocks 配好MinGW 的 setup 安装包真的是 C/C 入门最省心的一条路。我刚接触编程那会儿光折腾编译器路径就耗掉了一个周末什么 VS 装完几个 G、什么命令行 gcc 配环境变量每一步都在劝退新手。所以我看到“codeblock 20.03 mingw setup安装包直接打开使用即可”这个标题时第一反应就是这玩意儿确实值得单独写一篇。它解决的不是“怎么写代码”的问题而是“怎么让代码跑起来”的问题。这篇博文就围绕这个安装包把环境搭建、工具链原理、实操过程、常见坑一次讲清楚不管是完全零基础的新手还是想换一个轻量 IDE 的老手都能直接照着操作。1. 项目概述与环境搭建思路1.1 为什么偏偏是 Code::Blocks 20.03 MinGW先说结论Code::Blocks 20.03 是官方在 2020 年 3 月发布的稳定版本虽然不是最新后面出了 25.03但它胜在稳定、资源多、网上遇到问题一搜一堆答案。更重要的是官方提供了一种名为codeblocks-20.03mingw-setup.exe的安装包它在安装程序里直接捆绑了 MinGW 工具链。这意味着你装完之后IDE 和编译器是一套的不需要单独去下载 MinGW、不需要手动配置环境变量、不需要在 IDE 里指点编译器路径——装完打开写代码编译运行完事。我帮几个学弟学妹配过环境凡是让他们自己去下 MinGW 再配 Code::Blocks 的十有八九会卡在“编译器路径”这一步。要么下载的 MinGW 解压后找不到 bin 目录要么下的是 64 位版本但 IDE 默认找 32 位路径折腾半小时心态就崩了。而 mingw 版 setup 安装包直接规避了这个问题这也是为什么我说它适合“直接打开使用”。1.2 一键开箱背后IDE 和编译器到底怎么协作的很多人会用 IDE但不太清楚背后发生了什么。打个比方你写的 C/C 代码是人类语言CPU 只懂机器语言编译器就是那个“翻译官”。MinGW 全称是 Minimalist GNU for Windows它把 GNU 编译器套件GCC 系列移植到了 Windows 平台上其中包含 gccC 编译器、gC 编译器、gdb调试器、make 等一堆工具。Code::Blocks 是一个集成开发环境IDE它负责让你编辑代码、管理项目文件、一键点击“编译运行”按钮。当你按下那个按钮Code::Blocks 会在后台调用 MinGW 的 gcc/g 编译器把.c或.cpp源码文件编译成.o目标文件再链接成.exe可执行文件。这个过程对用户是隐藏的但不代表它不重要。如果编译器路径没配对IDE 点“构建”按钮会直接报compiler not found或者弹窗提示“Cant find compiler executable”。反过来如果 IDE 正常但编译器坏了你会看到一堆gcc: fatal error: no input files之类的报错。所以理解这层关系后续排查问题会清晰很多。2. 工具链本质MinGW 与编译器选型的关键认知2.1 MinGW 到底是个什么东西先说个容易被误解的点MinGW 不是“一个编译器”它是一个“工具链”把 Windows 上开发 C/C 所需的一整套 GNU 工具都收进来了。你拿到codeblocks-20.03mingw-setup.exe这个安装包里的编译器实际上来自 TDM-GCC 项目一款针对 Windows 平台集成的 GCC 工具链版本是 GCC 5.1.0。2020 年发布的 IDE 捆绑 2015 年的编译器听起来有点旧是不是但实际上对于初学 C/C、做课程设计、跑数据结构作业来说完全够用因为 C/C 语言标准C99/C11/C11/C14在 GCC 5.1.0 里都支持得很好。这个 20.03 MinGW 版本自带的工具链还包含gcc.exe编译 C 语言的编译器g.exe编译 C 语言的编译器gdb.exe调试程序用的调试器mingw32-make.exe自动化构建工具ar.exe、ld.exe、as.exe 等链接器、汇编器等后端工具这些工具默认安装在 Code::Blocks 安装目录下的MinGW子文件夹里比如C:\Program Files\CodeBlocks\MinGW。这跟单独安装 MinGW-w64 后配置系统环境变量的做法不同的是Code::Blocks 在启动时会自动检测自身目录下的MinGW/bin所以不需要用户手动去设置 PATH。2.2 编译器重不重要20.03 的编译器视野够不够用很多人会问GCC 5.1.0 这么老是不是什么都编译不了真不是。我举几个实际例子学校里常用的 C 语言作业、单链表、二叉树、排序算法、简单的文件读写这些代码用 C99 标准绰绰有余C 的类、继承、多态、STL 容器GCC 5.1.0 也都能正常编译运行。就算你想用 C11 的auto、nullptr、lambda 表达式、智能指针GCC 5.1.0 也支持。但如果代码里用了 C17 的结构化绑定auto [a, b] pair或者 C20 的concept、span这类新特性GCC 5.1.0 就会编译报错。遇到这种情况我建议你不需要立刻放弃这个包而是可以考虑换编译器。不过新手阶段基本碰不到这些高级语法先把经典语法吃透比追求最新标准重要得多。还有一个常识要清楚64 位的 Windows 系统可以运行 32 位程序所以 Code::Blocks 20.03 自带的 32 位版本 GCC 编译器编译出来的 exe在 64 位 Windows 10/11 上也能正常运行。只是编译出来的可执行程序本身是 32 位的地址空间最高 4GB但一般的学习项目根本不可能用那么多内存所以毫无压力。2.3 MinGW 与 MSVC 的区别到底在哪里很多初学者会看到 msvc、MinGW 这些说法容易混淆。我直接用表把关键区别列出来对比项MinGWGCCMSVCMicrosoft Visual C所属阵营GNU 开源社区微软常见 IDECode::Blocks、Dev-C、VS Code需配置Visual Studio编译器名称gcc.exe / g.execl.exe标准支持更新快对 C/C 标准支持广对 Windows API 有天然优化调试器GDBVisual Studio Debugger体积轻量几百 MB动辄几个 GB 到十几 GB特色跨平台、开源、适合学习商业 IDE 集成度高、适合 Windows 原生开发近两年 Visual Studio 2022 也可以配置 MinGW 编译器进行编译但在 VS2022 里新建 C 项目时默认还是用 MSVC 的 cl.exe。MSVC 和 MinGW 编译出来的二进制文件格式不完全兼容所以你要是拿到一个别人用 MinGW 编出来的.a静态库塞进 MSVC 项目里经常会链接失败。反过来也一样MSVC 编出来的.lib文件拿到 MinGW 下也用不了。这个知识点对后续做项目、用第三方库非常重要。3. 实操全过程从安装到第一行代码跑起来3.1 安装步骤与关键勾选下载时一定要认准文件名中带mingw字样的那个版本比如codeblocks-20.03mingw-setup.exe。如果下成了codeblocks-20.03-setup.exe不带 mingw里面就只有 IDE没有编译器那就真的不能“直接打开使用”了。安装过程本身没什么坑但我建议注意几个点安装类型选择“Full”完整安装或者至少在组件勾选时确认 MinGW 相关组件被打勾。安装路径尽量不要带中文和空格比如直接默认C:\Program Files\CodeBlocks或改成D:\CodeBlocks。虽然新版对中文路径兼容好了些但编译器 中文路径偶尔会出些稀奇古怪的问题没必要赌。无需勾选“添加到 PATH”这类选项因为 mingw 版会自动关联内部编译器。就算不自动关联也可以在 Code::Blocks 里通过 Settings → Compiler → Global compiler settings → Toolchain executables 里的 Auto-detect 来检测到内部 MinGW。安装完成后首次启动Code::Blocks 可能会弹出一个Compilers auto-detection窗口。正常情况下它会自动显示检测到 GNU GCC Compiler路径指向安装目录下的 MinGW你直接点 OK 继续即可。如果没弹窗也可以在菜单栏找 Settings → Compiler看 Selected compiler 是不是GNU GCC Compiler然后去 Toolchain executables 里点Auto-detect。3.2 创建一个 C 语言项目的标准流水线直接说我的标准操作流程写 C 就用 C 项目写 C 就用 C 项目别混着来。菜单 File → New → Project选择Console application点 Go。语言选择 C 或者 C看你的需求。项目标题随便填比如hello然后选一个存放路径。注意这会自动创建一个同名文件夹不想要嵌套太深的话直接选一个盘的根目录下某个文件夹即可。编译器那儿保持默认 GNU GCC Compiler不要改动。Finish 之后Code::Blocks 会帮你生成一个最基础的 main.c 或 main.cpp里面已经有一段输出 “Hello world!” 的代码。点工具栏上的黄色齿轮图标Build编译再点绿色播放图标Run运行。如果一切正常会弹出一个控制台窗口显示 Hello world!。我见过太多新人在 Build 之后去点 Run结果提示“It seems that this project has not been built yet. Do you want to build it now?”选 Yes 就完事了这不是什么错误只是提醒你还没编译。3.3 三个建议在动手前改掉的默认设置第一个是编译器路径确认。虽然自动检测一般没问题但你要是换过 MinGW 路径或者移动过安装目录一定要去 Settings → Compiler → Global compiler settings → Toolchain executables 里核对一下路径。这里面有一个必经操作在Compilers installation directory那一栏点击 Auto-detect它会自动搜索 Code::Blocks 安装目录下的 MinGW。如果 Auto-detect 没找到就手动浏览到你的 MinGW 文件夹例如C:\Program Files\CodeBlocks\MinGW点 OK 保存。第二个是编辑器字体和控制台编码。默认字体可能比较小看代码累去 Settings → Editor → Font 调大一点。另外Windows 控制台默认编码对中文的支持不稳定在程序中输出中文时可能显示乱码这是 Windows 终端编码如 GBK/936与源码编码如 UTF-8不一致导致的。想省事可以在 main 函数里加一句system(chcp 65001);切换终端到 UTF-8 代码页但更推荐的做法是在项目里统一把源码文件保存成 GBK 编码或者在输出中文时直接把源码编码保持和终端一致。这个细节碰到了再处理不常见但不是没有。第三个是设置断点调试前的 Debug 构建。新手通常只用 Build 和 Run但调试是一门必修课。工具栏上有红色小“Debug/Continue”按钮默认情况下需要你先用Build - Rebuild生成带调试信息的 exe再点 Debug 启动。Code::Blocks 默认 Release/Debug 两种构建目标新手不用太纠结用默认的 Debug 目标就行。只要不切到 Release边打断点边运行是没问题的。3.4 用命令行手动编译一次把原理落在实处虽说用 IDE 一键编译很省事但我还是强烈建议新手在命令行里亲手编译一次特别是遇到 IDE 报错想排查的时候。按WinR输入cmd然后cd到你的源码目录执行gcc -o hello.exe hello.c如果提示gcc不是内部或外部命令说明当前终端里没有 MinGW 的 PATH。你可以这样set PATHC:\Program Files\CodeBlocks\MinGW\bin;%PATH% gcc -o hello.exe hello.c hello.exe这样你会清楚看到命令行的编译过程。IDE 里的 Build 按钮本质上做的就是同一件事只是把gcc -o 输出 输入这条命令封装起来了。理解这一点以后遇到任何 IDE 报错你都能先想到“去命令行跑一遍 gcc 试试”排查效率直接翻倍。4. 常见问题与排查心得4.1 经典报错编译器找不到、文件路径找不到新手最容易遇到的报错有两类。第一类是构建时提示Cant find compiler executable in your configured search path这说明 IDE 没有找到编译器。解决方法就是在 Settings → Compiler → Toolchain executables 里重新 Auto-detect如果还不行就手动指定到 MinGW 的 bin 目录。第二类报错是运行时报错It seems that this project has not been built yet这时去点 Build 生成 exe再 Run 即可。还有一类更隐蔽的问题你把源文件放在中文路径下比如D:\学习\c语言\main.cpp。有些版本的 GCC 对中文路径支持不友好会出现fatal error: no input files或者找不到头文件。遇到这种情况别纠结直接把代码文件挪到纯英文路径下十次里有九次能解决。这是老生常谈但每次都要有人踩。4.2 运行窗口一闪而过代码明明没问题程序运行完控制台窗口直接关闭这也是经典问题。原因是你的代码执行完了控制台没有暂停等待。Code::Blocks 的 Run 按钮按道理会等待按键但如果双击了 exe 或者从命令行直接运行窗口就会一闪而过。解决办法有两个一种是在程序最后加return 0;之前加一句getchar();或者system(pause);让程序停住等你按键盘。另一种是在 Code::Blocks 里点 Run 而不是自己去双击 exe因为 IDE 方式的运行会等待程序退出。有些教材会教加system(pause)但如果你后面去写 GUI 程序或服务器程序根本不会用到这个它只是学习阶段的权宜之计。我更推荐用getchar()配合标准输入实现暂停可移植性更好。4.3 中文乱码与 freeglut 等第三方库的补充说明中文乱码很有迷惑性代码看着没问题输出到控制台就是一堆乱码。这主要是因为源码文件保存的编码和 Windows 控制台实际解码的编码不一致。Code::Blocks 默认保存源码可能用 UTF-8但 Windows 控制台尤其是旧版默认用 GBK。最简单的绕过方式是不要在控制台里直接输出中文改用英文输出如果必须输出中文把源码另存为“文件编码为 Windows-1252 或 ANSI”再重新编译很多场景能解决。再说说热搜里出现的 freeglut 和 MinGW 的搭配。freeglut 是 OpenGL 工具库 glut 的开源替代品在做计算机图形学作业时很常用。网上常见的问题是“freeglut mingw 32位版本”。在 20.03 mingw 包中编译器是 TDM-GCC 32 位所以你要下载 32 位版本的 freeglut把freeglut.dll放在 exe 同目录把freeglut.lib或libfreeglut.a放到 MinGW 的lib目录freeglut.h等头文件放到include\GL目录然后在项目的链接设置里加上-lfreeglut。一个常见错误是把 64 位的 dll 放到 32 位程序目录里运行时会直接报“不是有效的 Win32 应用程序”。4.4 向 VS Code 迁移时MinGW 怎么继续使用很多人学了一阵子之后听说 VS Code 更好用于是开始折腾“在 VS Code 中配置 MinGW 64”。这里我再给点建议VS Code 本身只是一个编辑器它没有编译器需要用 MinGW 的 gcc/g 来编译代码。你在 Code::Blocks 的 MinGW 目录其实可以继续用只需要把C:\Program Files\CodeBlocks\MinGW\bin加入系统 PATH然后在 VS Code 里安装 C/C 扩展配置tasks.json和launch.json指定编译器路径即可。一个更省事的思路是去 MinGW-w64 官网下载一个较新的版本但下载时注意选架构x86_64 表示 64 位i686 表示 32 位、线程模型posix 或 win32、异常处理模型seh 或 dwarf。新手选x86_64-win32-seh基本够用。配置方式依然是把 bin 目录加入 PATH再在 VS Code 里设置核心原理没有任何变化。5. 一点个人体会如果是跟着教材或网课学 C/C不需要一开始就在 VS Studio 和 MinGW 之间反复横跳。先用 Code::Blocks 20.03 mingw setup 把最基本的“写代码—编译—运行”跑通把语言本身学到手之后再根据方向换 IDE 也好、换编译器也好逻辑是完全相通的。我当年就是从这个包开始的后来转 VS Code、转 Linux 下的 gcc 都没有太大障碍因为编译原理和命令行使用方式是共通的。最后再分享一个小技巧真的别小看Build log窗口IDE 下方一旦出现红色报错不要只看第一行往下翻一翻通常能找到error:开头的具体提示。那个提示会告诉你是哪个文件哪一行出了问题。善用这个窗口你排查问题的速度至少快一倍。本文还有配套的精品资源点击获取