使用 MSYS2+MinGW 编译win程序

发布时间 2023-11-23 14:43:34作者: 蝈蝈俊

在跨平台开发场景下,MinGW为那些习惯于使用GNU工具(例如gcc、gdb、make等)的开发者提供了一个便利:它允许他们在Windows平台上使用相同的工具链。这种做法有助于保持在不同操作系统间的开发一致性。此外,当某个应用依赖于Unix系统下的特定库,而这些库在Windows下没有直接的替代品时,MSYS2结合MinGW就显得尤为重要。它们使得在Windows上编译和使用这些Unix系统的库成为可能。

MSYS2 介绍

MSYS2是一个在Windows上提供类似Linux的环境和工具的软件。它的特点可以这样概括:

1、Linux风格的环境

MSYS2为Windows用户提供了一个类Unix的命令行界面和工具,如bash shell、grep、awk等,这让习惯于Linux或Unix环境的用户在Windows上也能感到舒适。

2、软件包管理

它内置了Pacman软件包管理器,这是一种方便的方式来安装、更新和管理各种工具和库。

3、编译和构建应用

MSYS2提供了必要的工具和库,支持在Windows上编译和构建基于Unix的应用程序。

同时它支持交叉编译,这意味着你可以在Windows上编译出既适用于Linux也适用于Windows的程序。

MSYS2是一个非常适合需要在Windows操作系统上使用Linux风格工具和特性的开发者的平台。它特别有用于那些需要在Windows上开发、编译和运行跨平台软件的用户。

编译Win程序

在 Windows 系统上,通过 MINGW64 和 MSYS2 提供的类 Unix 环境中编译Win程序办法。

1、下载 MSYS2 安装器

访问 MSYS2 的官方网站 https://www.msys2.org/ 并下载适合您系统的安装器。如果您的系统是64位的,您应该下载 msys2-x86_64-*.exe

2、安装 MSYS2

双击下载的安装器文件,按照安装向导的步骤进行安装。通常,建议安装在默认路径 C:\msys64

3、更新 MSYS2 系统和包

  • 打开 MSYS2 终端。在开始菜单中搜索 MSYS2 或在安装目录下找到 msys2.exe 文件并运行。
  • 一旦打开,首先更新包管理器本身,运行以下命令:
    pacman -Syu
    
  • 如果有提示重启 MSYS2,关闭终端窗口并重新打开它来完成更新。
  • 然后,更新其余的包,运行以下命令:
    pacman -Su
    

4、安装 MinGW-w64

在 MSYS2 终端中,根据您需要编译的目标系统,安装相应的 MinGW-w64 工具链。对于64位系统,运行:

pacman -S mingw-w64-x86_64-toolchain

安装过程中,系统可能会让你选择安装哪些具体的包。如果不确定,安装全部(通常通过输入all选择)。

5、添加 MinGW-w64 到您的系统路径:

  • 为了从任何命令行界面使用 MinGW-w64,您需要将它添加到系统环境变量的 PATH 中。
  • 右键点击“此电脑”或“我的电脑”,选择“属性”,然后点击“高级系统设置”。
  • 在系统属性窗口中,点击“环境变量”。
  • 在“系统变量”部分,滚动找到并选中“Path”变量,然后点击“编辑”。
  • 点击“新建”,添加 MinGW-w64 的 bin 目录的路径,通常是 C:\msys64\mingw64\bin。
  • 点击确定保存并关闭所有窗口。

6、验证安装:

打开一个新的命令提示符或 PowerShell 窗口,输入 gcc --versionmingw32-make --version 来检查安装是否成功。如果安装正确,这些命令将显示版本信息。

通过上述步骤,您将能够设置一个在 Windows 上运行类 Unix 环境的系统,可以用于开发和编译适用于 Windows 的应用程序。