在学Qt的工具集的时候(Qt 所使用的编译器、链接器、调试器等都不是自己的),了解了GUN工具集。UNIX系统程序员Richard M. Stallman (RMS)创立了与众不同的 GUN项目(GNU's Not Unix),推进了自由软件基金会 (Free Software Foundation)FSF,(GUN原为角马的意思,GUN项目是自由软件操作系统,为什么要创立GUN项目,因为当时的UNIX是商业的)
GUN项目开发了一系列工具集用到了现在的Linux/Unix,为了在 Windows 系统里可以使用 GNU 工具,诞生了 MinGW(Minimalist GNU for Windows) 项目,利用 MinGW 就可以生成 Windows 里面的 exe 程序和 dll 链接库。
由于 MinGW 本身主要就是编译链接等工具和头文件、库文件,并不包含系统管理、文件操作之类的 Shell 环境,所以 MinGW 官方又推出了 MSYS(Minimal SYStem),相当于是一个部署在 Windows 系统里面的小型 Unix 系统环境, 移植了很多 Unix/Linux 命令行工具和配置文件等等,是对 MinGW 的扩展。
对于 MinGW-w64 项目,它对应的小型系统环境叫 MSYS2(Minimal SYStem 2),MSYS2 是 MSYS 的衍生版,不仅支持 64 位系统和 32 位系统,还有自己的独特的软件包管理工具,它从 Arch Linux 系统里移植了 pacman 软件管理工具,所以装了 MSYS2 之后,可以直接通过 pacman 来下载安装软件,而且可以自动解决依赖关系、方便系统升级等。装了 MSYS2 之后,不需要自己去下载 MinGW-w64,可以直接用 pacman 命令安装编译链接工具和 git 工具等。
MSYS2下载地址:MSYS2
\msys64\etc\pacman.d 目录下的三个配置文件,修改如下:
mirrorlist.msys 文件
##
## MSYS2 repository mirrorlist
##
## Primary
## msys2.org
## Server = http://repo.msys2.org/msys/$arch
## Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
## Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
mirrorlist.mingw32 文件
##
## 32-bit Mingw-w64 repository mirrorlist
##
## Primary
## msys2.org
## Server = http://repo.msys2.org/mingw/i686
## Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
## Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
mirrorlist.mingw64 文件
##
## 64-bit Mingw-w64 repository mirrorlist
##
## Primary
## msys2.org
## Server = http://repo.msys2.org/mingw/x86_64
## Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
## Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
上述文件修改后,经测试,速度很快
更新Msys2系统环境
pacman -Sy
#更新源
pacman -Syu
pacman -Su
安装MinGW-w64 和 MinGW-x86版本
pacman -S mingw-w64-i686-toolchain
pacman -S mingw-w64-x86_64-toolchain
安装常用工具
pacman -S base-devel git wget perl ruby python2
安装GTK
pacman -S mingw-w64-i686-gtk3
pacman -S mingw-w64-x86_64-gtk3
安装Glade
pacman -S mingw-w64-i686-glade
pacman -S mingw-w64-x86_64-glade