当输入pacman -S gcc时,它会在msys2中的/ usr / bin中安装gcc,但在键入pacman -S mingw-w64-x86_64-gcc时,它将安装在/ mingww64 / bin中。
他们之间有什么不同?
答案 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环境中更多种类的库。