12

当输入 pacman -S gcc 时,它会在 msys2 的 /usr/bin 中安装 gcc,但是当输入 pacman -S mingw-w64-x86_64-gcc 时,它会安装在 /mingww64/bin 中。

它们之间有什么不同?

4

1 回答 1

18

GCC 编译器/usr/bin生成msys-2.0.dll用作运行时依赖项的可执行文件。该 DLL 基本上是 Cygwin 的一个分支,它提供了对 Windows 通常不可用的 POSIX 命令的仿真。该环境主要用于运行来自 Linux 世界的程序(如 bash),这些程序需要 POSIX 命令并且不能轻松移植到本机 Windows 环境。

GCC 编译器/mingw32/bin分别/mingw64/bin针对 32 位或 64 位版本的 Windows 生成本机 Windows 可执行文件。32 位可执行文件实际上可以在 32 位或 64 位 Windows 上运行。这些可执行文件更容易分发;您通常只需将它们所依赖的所有 DLL 从/mingw*/bin文件夹复制到与可执行文件相同的目录中,然后您就有了可以在其他计算机上成功运行的东西。由于 MSYS2 的主要目的是帮助编写本机 Windows 软件,因此您会在 MinGW 环境中找到比 msys-2.0.dll 环境中更多种类的库。

于 2018-03-25T16:59:43.910 回答