当前位置: 首页 > news >正文

【笔记】MSYS2 的 MINGW64 环境 全面工具链

#工作记录

MSYS2 的 MINGW64 环境(mingw64.exe,下面是为该环境准备的最全工具链安装命令(包括 C/C++、Python、pip/wheel、GTK3/GTK4、PyGObject、Cairo、SDL2 等)。

这一环境适用于构建原生 64 位 Windows 应用程序。


🛠 一、更新 MSYS2 和软件包

请在 MSYS2 Shell 中执行一次更新(只需首次):

pacman -Syu     # 首次运行后关闭终端

然后在 MINGW64 环境中继续执行:

pacman -Su      # 第二步更新

🧰 二、切换到 MINGW64 环境(路径举例)

请运行:

C:\msys64\mingw64.exe

所有以下命令请在 mingw64.exe 终端中执行!


🧩 三、完整开发工具链安装(MINGW64)

✅ 基本开发环境

pacman -S --needed \mingw-w64-x86_64-toolchain \mingw-w64-x86_64-cmake \mingw-w64-x86_64-ninja \git wget unzip zip tar make

🐍 四、Python + pip + wheel + 科学库

✅ 安装 Python 和 pip

pacman -S mingw-w64-x86_64-python mingw-w64-x86_64-python-pip

✅ 安装 setuptools、wheel、virtualenv

pip install --upgrade pip setuptools wheel virtualenv

✅ 安装科学计算类库(C 扩展自动链接 mingw 库)

pip install numpy scipy matplotlib pandas

🖼️ 五、GTK3 / GTK4 + PyGObject 图形界面支持

✅ 安装 GTK3(推荐兼容性较好)

pacman -S mingw-w64-x86_64-gtk3

或安装 GTK4:

pacman -S mingw-w64-x86_64-gtk4

同时会自动安装 glib2, gdk-pixbuf2, pango, cairo 等依赖。


✅ 安装 Python 图形绑定库 PyGObject

pacman -S mingw-w64-x86_64-python-gobject

✅ 安装 PyCairo(绘图库)

pacman -S mingw-w64-x86_64-python-cairo

替代安装方式(不推荐但可用):

pip install PyGObject pycairo

🕹️ 六、额外 GUI 与多媒体支持库

✅ SDL2(游戏、媒体开发)

pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image

✅ wxWidgets(C++ GUI 库)

pacman -S mingw-w64-x86_64-wxWidgets

✅ Qt6(大型 C++ GUI 框架)

pacman -S mingw-w64-x86_64-qt6

🔬 七、验证安装成功

# 检查 gcc/g++ 等工具链
gcc --version
g++ --version# Python 与 pip
python --version
pip --version# PyGObject 示例测试
python -c "import gi; gi.require_version('Gtk', '3.0'); from gi.repository import Gtk; print(Gtk)"

🧠 八、建议设置 PATH(可选)

将 MSYS2 的 MINGW64 路径加入系统 PATH 环境变量(方便外部调用):

C:\msys64\mingw64\bin

如有特定开发目标(如 PyInstaller 打包 GTK 应用、制作 GUI 安装包等),可能还需要后续集成方案。

http://www.xdnf.cn/news/889093.html

相关文章:

  • 3DEXPERIENCE参考属性和实例属性的获取
  • VUE混合开发用哪个PHP框架好?
  • 三级等保框架下质检 LIMS 系统违规操作溯源技术应用实践
  • 极昆仑智慧与数元灵科技达成战略合作
  • redis配置及优化
  • YOLOv8 × VisDrone 全流程实战:训练你的无人机识别模型 AI(第一部分:数据集准备)
  • 25.6.5学习总结
  • Git操作记录
  • 60天python训练计划----day45
  • 如何开发一个成功的产品
  • OptiStruct结构分析与工程应用:无限元分析指南
  • SpringBoot自动化部署实战技术文章大纲
  • 网络层协议
  • 【电赛培训课程】运算放大器及其应用电路设计
  • DNS攻击类型有哪些?如何应对DNS攻击威胁?
  • 网络包在 Linux 中的处理流程
  • echarts在uniapp中使用安卓真机运行时无法显示的问题
  • C及C++编译链接过程详解
  • c++ Base58编码解码
  • 【华为云Astro-服务编排】服务编排中图元的使用与配置
  • 【Android基础回顾】四:ServiceManager
  • gc2053驱动学习笔记
  • CppCon 2015 学习:Concurrency TS Editor’s Report
  • nvidia系列教程-Usb otg模式修改为host模式
  • 从理论崩塌到新路径:捷克科学院APL Photonics论文重构涡旋光技术边界
  • 设计模式-2 结构型模式
  • 轻触开关是什么?
  • Web前端之隐藏元素方式的区别、Vue循环标签的时候在同一标签上隐藏元素的解决办法、hidden、display、visibility
  • 国产录播一体机:科技赋能智慧教育信息化
  • el-draw的文件列表和清单内容布局实现