CLion + MSYS2(MinGW64)C++ 开发环境完整配置指南(Windows)

本文面向 Windows 平台 C++ 初学者与工程入门用户,目标是帮助你在 CLion + MSYS2(MinGW64) 环境下,一次性完成稳定、规范、可长期使用的 C++ 开发环境配置。

本教程特点:

  • 零基础可照做
  • 不依赖 Visual Studio
  • 避开常见工具链与编码陷阱
  • 配置完成即可直接进入 C++ 学习或工程开发

一、准备说明

在开始之前,请确认以下几点:

  • 操作系统:Windows 10 / Windows 11
  • 本教程 仅使用 MSYS2 的 MinGW64 工具链
  • 不要混用 MSYS / UCRT64 / 其他 MinGW 发行版
说明:CLion 对工具链 ABI 要求较严格,混用环境极易导致编译或调试失败。

二、第一步:下载并安装 CLion

1. 下载地址

官方地址(Windows)https://www.jetbrains.com/zh-cn/clion/download/?section=windows

直接下载 Windows 版 .exe 安装包,无需区分 32/64 位。

2. 安装过程说明

运行下载好的 .exe 文件,安装过程中:

  • 建议全部勾选默认选项
  • “将当前目录作为工作空间”可选
  • 自动添加到环境变量建议勾选(避免手动配置 PATH)

安装完成后,按提示完成注册或试用即可。

三、第二步:下载并安装 MSYS2

1. 下载 MSYS2

官网地址: https://www.msys2.org/

请选择 x86_64 版本(64 位)

2. 安装路径要求(非常重要)

  • 路径中 不能包含中文、空格或特殊符号
  • 推荐路径示例:
D:\msys64

3. 验证安装

安装完成后,开始菜单中应能看到并打开:

MSYS2 MinGW64
注意:MSYS2 会安装多个终端,请务必使用 MinGW64,不要打开 MSYS 或 UCRT64。

能正常打开即表示安装成功。

四、第三步:安装 C++ 编译器、调试器与构建工具

以下操作 全部在 MSYS2 MinGW64 终端中完成

注意:MSYS2 会安装多个终端,请务必使用「MSYS2 MinGW64」,
不要使用 MSYS 或 UCRT64,否则可能导致编译或调试失败。

1. 更新系统包

首次打开终端后执行:

pacman -Syu

如果过程中出现窗口关闭或提示重新打开终端,这是正常行为。请重新打开 MSYS2 MinGW64,再次执行:

pacman -Syu

直到提示没有可更新内容为止。


2. 安装 MinGW64 开发工具链

在同一终端中执行:

pacman -S --needed \

mingw-w64-x86_64-gcc \

mingw-w64-x86_64-gdb \

mingw-w64-x86_64-cmake \

mingw-w64-x86_64-ninja

全部输入 Y 确认,等待安装完成。

3. 验证安装是否成功

依次执行:

gcc --version

g++ --version

cmake --version

ninja --version

只要没有出现 command not found,说明工具链安装成功。

提示:C++ 项目 必须确保 g++ 可用,仅有 gcc 不够。

五、第四步:在 CLion 中配置 MinGW 工具链

1. 打开工具链设置

路径:

Settings → Build, Execution, Deployment → Toolchains

设置→构建,执行,部署→工具链

2. 删除已有工具链

  • 如果左侧已有工具链,请全部选中并删除
  • 新环境下通常是空的

3. 新建 MinGW 工具链

点击 Add → 选择 MinGW,然后按如下配置(路径仅供参考 具体请以你的实际安装路径为准):

  • CMake:Bundled
  • Debugger:(调试器)

C++ Compiler:(C++编译器)

D:\msys64\mingw64\bin\g++.exe

C Compiler:(C编译器)

D:\msys64\mingw64\bin\gcc.exe

Build tool:(构建工具)

D:\msys64\mingw64\bin\ninja.exe

Toolset:(工具集)

D:\msys64\mingw64
Bundled GDB(捆绑的GDB)

大概就和下列图片一样

如果出现警告提示,无需惊慌,直接点击 应用 即可

六、第五步:编写并运行第一行 C++ 代码

1. 新建 C++ 工程或 .cpp 文件

在 CLion 中新建 C++ Executable 项目,或新建一个 main.cpp 文件。

2. 示例代码

#include <iostream> int main() { std::cout << "Hello, C++!" << std::endl; return 0; } 

3. 运行程序

点击运行按钮,若终端输出:

Hello, C++!

说明环境配置成功,你已经可以开始正式学习和使用 C++ 了。

结语

至此,你已经完成了 CLion + MSYS2(MinGW64) 在 Windows 下的完整 C++ 开发环境配置。

该环境适合:

  • C++ 初学
  • 算法练习
  • 工程开发
  • 后续深入学习现代 C++(C++11 及以后)

后续你可以直接进入 C++ 基础语法或工程实践阶段。

Read more

基于SSM 高校后勤管理系统 的设计与实现--(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C# 、C++、python、大数据、全套文案

基于SSM 高校后勤管理系统 的设计与实现--(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C# 、C++、python、大数据、全套文案

SSM 高校后勤管理系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设高校后勤管理系统。 本设计主要实现集人性化、高效率、便捷等优点于一身的高校后勤管理系统,完成用户管理、故障报修、公寓信息、食堂管理、基础设施、校园环境、校医院信息等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。高校后勤管理系统使用Java语言,基于B/S架构,后端部分采用SSM 框架 进行开发,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介。 关键词:高校后勤管理;SSM 框架 ;B/S架构;MySQL数据库 SSM University Logistics Management System Abstract The rapid development o

By Ne0inhk

如何用Memphis.dev构建生产级消息代理系统:后端开发者的完整指南

如何用Memphis.dev构建生产级消息代理系统:后端开发者的完整指南 【免费下载链接】memphisMemphis.dev is a highly scalable and effortless data streaming platform 项目地址: https://gitcode.com/gh_mirrors/me/memphis Memphis.dev是一个专为后端开发者设计的高度可扩展、简单易用的数据流平台,能够在3分钟内构建生产就绪的消息代理系统。作为开源的数据流平台,Memphis.dev让事件驱动和实时功能的开发变得前所未有的简单和高效。 🚀 为什么选择Memphis.dev? 在传统架构中,大规模处理事件流需要数月时间才能落地,这通常是大型企业才具备的能力。Memphis.dev打破了这一壁垒,让80%的中小团队也能快速构建强大的数据流处理能力。 核心优势: * 3分钟快速部署 - 生产就绪的消息代理 * 完整的数据层可观测性 - 实时监控数据流动 * 嵌入式Schema管理 - 支持Protobuf、JSON、

By Ne0inhk
2025年12月GESPC++四级真题解析(含视频)

2025年12月GESPC++四级真题解析(含视频)

视频讲解:GESP2025年12月四级C++真题讲解 一、单选题 第1题 解析: 答案C,创建指针 " int *p "。获取x变量的地址  " &x " 第2题 解析: 答案C, int a = 5; //a变量存储5 int* p1 = &a; //创建指针p1 存储 变量a地址 int* p2 = p1; //创建指针p2 存储 指针p1的地址 (即p2的地址也是a变量的地址) *p2 = 10; //指针p2的地址存储 10 (即修改a变量为10) 第3题 解析: 答案B,下标从0开始,即2行3列 为

By Ne0inhk

【C++】模拟实现 二叉搜索树

前言 二叉搜索树(Binary Search Tree,BST)作为一种经典的树形数据结构,凭借其高效的动态查找、插入和删除特性,在计算机科学领域有着广泛的应用。从底层实现来看,C++ 标准库中的 map、set、multimap、multiset 等关联式容器,其核心逻辑正是基于二叉搜索树(红黑树作为其平衡优化版本)构建。 相较于面向对象编程中的多态特性(侧重行为的动态绑定与代码复用),二叉搜索树聚焦于数据的有序存储与高效检索,其核心价值在于利用 “左子树值≤根节点值≤右子树值” 的结构性约束,将查找、插入、删除操作的时间复杂度控制在近似 O(logN)(理想的平衡状态下);而在最坏的单支树场景下,时间复杂度退化为 O(N),这也体现了数据结构设计中 “结构与性能” 的强关联性。 本文将从二叉搜索树的核心定义出发,逐步拆解节点设计、树的构建、插入、查找、删除等核心操作的实现逻辑,并区分 “仅存关键码(

By Ne0inhk