我希望在Windows中有一个POSIX环境(用作系统外壳),同时生成本机Windows可执行文件。过去的一种选择是安装Cygwin和MinGW,并可能从Cygwin调用MinGW编译器二进制文件。
现在,x64 MinGW可以作为Cygwin包直接使用,并且有一些博客文档记录了如何让它们很好地结合在一起。
在采用此解决方案之前,我想知道Cygwin包与单独的MinGW-w64有何不同。具体而言,哪一个在生成本机Win64 exe时效率更高?Cygwin包本身是基于本地可执行文件的,还是它的gcc编译器的扩展?
更新
你们中的一些人误解了这个问题:
我对Cygwin和MinGW之间的区别一点也不感兴趣。
(顺便说一句,在MinGW的主页上,他们主要关心的是如何区别于Cygwin)
相反,我的问题非常具体:我感兴趣的是一个特定的Cygwin包与其独立版本之间的区别。
这个包恰好是"mingw64-x86_64",它被拆分到几个依赖文件中,其中最相关的可能是"mingw64-x86_64-gcc-core“。
对不起,但是一些评论中的引用对于这里的问题是完全错误的:第一,它们是针对Cygwin作为一个整体,而不是提到的包;其次,它们提到了一个相当老的MinGW版本,与这里提到的版本有很大的不同(参见这里的差异)。
还有人提到MSYS2,这是一种现代的Cygwin叉子,但我对Cygwin (作为整体)并不感兴趣,但对上述软件包感兴趣。
有些人可能不知道这个包,事实上,如果你在谷歌上搜索"mingw64-x86_64",你就不会发现任何与Cygwin软件包相关的东西,而且很可能是在普通版本上,这就是我在这里发布的原因。
发布于 2015-10-19 01:06:53
TL;DR:安装Cygwin和软件包mingw64-x86_64-gcc-core。
如果Cygwin包与独立的MinGW-w64不同
他们是一样的。
gcc-core和cygwin32-gcc-core,其中包括文件x86_64-pc-cygwin-gcc.exe和i686-pc-cygwin-gcc.exe。这些编译器创建依赖于cygwin1.dll的程序。mingw64-x86_64-gcc-core和
mingw64-i686-gcc-core,其中包括文件x86_64-w64-mingw32-gcc.exe和
i686-w64-mingw32-gcc.exe。这些编译器创建不依赖cygwin1.dll的Windows本机程序。https://stackoverflow.com/questions/25936126
复制相似问题