我想在
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软件包相关的内容,而且很可能是普通版本,这就是为什么我在这里发帖
最佳答案 TL; DR:安装Cygwin和mingw64-x86_64-gcc-core软件包.
if the Cygwin package is different from a standalone MinGW-w64
他们是一样的.
> MinGW – 这个项目可以在mingw.org和
sourceforge.net/projects/mingw.该项目已被MSYS2取代
和MinGW-W64项目.
> Cygwin环境 – 类Unix环境,即Bash.
> Cygwin编译器 – 这些是包gcc-core和cygwin32-gcc-core
其中包括文件x86_64-pc-cygwin-gcc.exe和
i686的-PC-cygwin的-gcc.exe.这些编译器创建了依赖的程序
cygwin1.dll.
> MSYS2 environment – 类Unix环境,即Bash.这是个
更新到旧MinGW项目提供的MSYS环境.
> 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的程序.