Cygwin MinGW软件包与独立MinGW软件包

时间:2014-09-19 14:20:37

标签: cygwin mingw posix mingw-w64

我希望在Windows中有一个POSIX环境(用作系统shell),同时生成本机Windows可执行文件。过去的一个选择是安装Cygwin和MinGW,并可能从Cygwin调用MinGW编译器二进制文件。

现在x64 MinGW可以直接作为Cygwin包使用,并且有一些blogs记录如何让它们很好地一起玩。

在采用此解决方案之前,我想知道Cygwin软件包与独立的MinGW-w64有何不同。具体哪一个更有效地生成原生Win64 exe? Cygwin是基于本机可执行文件打包的,还是其gcc编译器的扩展?

更新

有些人误解了这个问题:

我对Cygwin和MinGW之间的区别不感兴趣。

(顺便说一句,在MinGW的主页上,他们主要关心的是如何区别于Cygwin)

我的问题非常具体:我对特定 Cygwin软件包与其独立版本之间的区别感兴趣。
这个软件包恰好是“mingw64-x86_64”,它被分成几个依赖文件,其中最相关的可能是“mingw64-x86_64-gcc-core”。

很抱歉,但是在一些评论中找到的引用在这里提到的内容是完全错误的:首先他们向整个Cygwin发送而不是提到的包;其次,它们指的是相当古老的MinGW版本,与此处提到的版本有很大不同(请参阅此处differences)。 有人还提到了MSYS2,这是一个现代的Cygwin分叉,但我再次对Cygwin(整体而言)不感兴趣,但是对于所说的包。

有些人可能不知道这个软件包,事实上,如果你谷歌搜索“mingw64-x86_64”,你找不到任何与Cygwin软件包相关的东西,并且很可能是普通版本的,并且这就是我在这里发帖的原因。

1 个答案:

答案 0 :(得分:2)

TL; DR:安装Cygwin和包mingw64-x86_64-gcc-core

  

如果Cygwin包与独立的MinGW-w64不同

他们是一样的。

  1. MinGW - 这是可以在mingw.org和
    找到的项目 sourceforge.net/projects/mingw。该项目已被MSYS2取代 和MinGW-w64项目。

  2. Cygwin环境 - 类似Unix的环境,即Bash。

  3. Cygwin编译器 - 这些是包gcc-corecygwin32-gcc-core 其中包括文件x86_64-pc-cygwin-gcc.exei686-pc-cygwin-gcc.exe。这些编译器创建了依赖的程序 cygwin1.dll

  4. MSYS2 environment - 类似Unix的环境,即Bash。这是个 更新到旧MinGW项目提供的MSYS环境。

  5. MinGW-w64编译器 - 这些是包mingw64-x86_64-gcc-core
    mingw64-i686-gcc-core包含文件x86_64-w64-mingw32-gcc.exe
    i686-w64-mingw32-gcc.exe。这些编译器创建Windows本机 不依赖cygwin1.dll

  6. 的程序

    What do the C compilers on Cygwin generate?