导航

使用 MSYS2+MinGW 编译win程序

Posted on 2023-11-23 14:41  蝈蝈俊  阅读(385)  评论(0编辑  收藏  举报

在跨平台开发场景下,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上开发、编译和运行跨平台软件的用户。

MinGW

MinGW(Minimalist GNU for Windows)是一个允许开发者在Windows操作系统上使用GNU工具集的软件开发环境。它主要包括GNU Compiler Collection(GCC)等编译器、各种库和工具。MinGW的关键特点是它提供原生Windows应用程序的编译能力,同时保持对GNU开发工具和标准的兼容性。

它的常用场景如下:

1、跨平台开发:

对于需要在Windows和Linux或其他类Unix系统上同时开发的项目,MinGW提供了一个共同的编译器和工具链,使得代码能够更容易地在不同平台间迁移和维护。

2、使用GNU工具:

对于那些熟悉或偏好GNU工具(如gcc, gdb, make等)的开发者,MinGW允许他们在Windows环境中继续使用这些熟悉的工具,无需重学新的工具集。

3、编译开源软件:

很多开源软件原生是为Unix-like系统编写的。使用MinGW,开发者可以在Windows上编译这些软件,无需进行重大修改。

4、开发Windows应用:

当开发者需要创建兼容Windows的应用程序,但希望或习惯于使用GNU工具时,MinGW是一个理想的选择。

综上所述,MinGW是一个非常实用的工具,特别适用于那些需要在Windows上使用GNU开发工具的场景,同时也支持跨平台的应用开发。

编译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 的应用程序。

总结

MinGW(Minimalist GNU for Windows)和MSYS2提供了在Windows上使用GNU工具和类Unix环境的能力。

MinGW使得习惯于GNU工具(如gcc, gdb, make)的开发者可以在Windows上使用相同的工具链,促进跨平台开发的一致性。

对于某些应用依赖于Unix系统库的情况,MSYS2和MinGW结合使用,使得在Windows上编译和使用这些库成为可能。

  • MSYS2提供类Unix的命令行界面和工具,内置Pacman包管理器,并支持交叉编译。这些工具对于需要在Windows上开发、编译和运行跨平台软件的用户尤其有用。

  • MinGW特别适合需要在Windows上使用GNU开发工具的场景,同时支持跨平台应用开发。