MINGW64中mingw32-make-bin和msys-make-bin的区别

Diffference between mingw32-make-bin and msys-make-bin in MINGW64

如果问题与 Whosebug 相关,请问有人能告诉我包 "mingw32-make-bin" 和 "msys-make-bin" 之间的区别吗。

我认为它们是不同的包,因为它们在 MinGW 安装管理器中被列为不同的包,而且我不太了解 MinGW。 Google 搜索和查看官方文档都没有结果,因为我看不懂:(

MinGW FAQ 说:

What's the difference between make and mingw32-make?

The "native" (i.e.: MSVCRT dependent) port of make is lacking in some functionality and has modified functionality due to the lack of POSIX on Win32. There also exists a version of make in the MSYS distribution that is dependent on the MSYS runtime. This port operates more as make was intended to operate and gives less headaches during execution. Based on this, the MinGW developers/maintainers/packagers decided it would be best to rename the native version so that both the "native" version and the MSYS version could be present at the same time without file name collision.

CMake documentation on MinGW Makefiles 说:

Use this generator under a Windows command prompt with MinGW in the PATH and using mingw32-make as the build tool. The generated makefiles use cmd.exe as the shell to launch build rules. They are not compatible with MSYS or a unix shell.

实际上,msys/make(连同 MSYS 或 MSYS2 的其余部分)通常是可以处理跨平台 Makefile 的文件(通常由 ./configure 创建,然后由 autotools 创建)。 mingw32-make 不需要整个 MSYS 或 MSYS2 工作,但它只能处理 Windows-specific Makefiles(或精心制作的 Makefiles 以与两个 Make 版本一起工作。