msys2 \ usr \ bin中的gcc.exe和msys2 \ mingww64 \ bin中的gcc.exe有什么区别?

时间:2018-03-25 10:53:21

标签: gcc mingw msys2 pacman-package-manager

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

他们之间有什么不同?

1 个答案:

答案 0 :(得分:4)

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

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