【问题标题】:What is the difference between MinGW, MinGW-w64 and MinGW-builds?MinGW、MinGW-w64 和 MinGW-builds 有什么区别?
【发布时间】:2014-10-24 06:46:09
【问题描述】:

MinGWMinGW-w64MinGW-builds有什么区别?

我应该使用哪一个在 Windows 8 机器上使用 Eclipse IDE 编译 c++ 11 源代码?

【问题讨论】:

  • MinGW-builds 现在在其 sourceforge 页面上有此注释:“项目加入了 MinGW-W64,新版本将在 MinGW-W64(sourceforge.net/projects/mingw-w64) 网站上提供。”

标签: c++ eclipse gcc c++11 mingw


【解决方案1】:

MinGW 是 Windows 的 GCC 端口。并非所有的 Windows API 都受支持(但对于许多程序来说,支持的东西就足够了)而且它仅适用于 32 位程序(通常也可以在 64 位 Windows 上运行,但有些不能,而且你不能将它们编译为 64 位)。

MinGW-w64 是一个改进版本,它支持 32 位和 64 位,以及更多的 WinAPI(仍然不是全部,因为工作量很大,但比 MinGW 更多)。

MinGW-w64 仅提供它们的源代码,但没有“仅使用”编译器的二进制文件。

MinGW-builds 是一个有点独立的项目,以最有用的配置提供二进制文件。要获得 MinGW-w64 的专门构建,仍然可以手动编译。

如果不需要任何异常,使用 MinGW-builds 自行安装程序是最简单的方法。也可以see here 寻求自助安装程序的帮助。

【讨论】:

【解决方案2】:

Mingw 将您的代码编译为在 Windows 下运行的 Windows 二进制文件。

Linux 的 Windows 子系统 (WSL) 生成 Linux 二进制文件。您可以在 WSL 下安装其他 Linux 程序,除非您需要图形界面。您可以从 WSL 访问 Windows 文件系统,但反之则不行。

只要您有 Cygwin DLL,Cygwin 就可以制作可以在 Cygwin shell 之外的 Windows 下运行的 Windows 二进制文件。这提供了一个与 Windows 完全兼容的类似 Linux 的环境。

【讨论】:

  • “Mingw-w64 使 Linux 二进制文件无法在 Mingw-w64 shell 之外的 Windows 中运行。” 不,独立的 MinGW[-w64] 工具集和已安装的工具集作为 MSYS[2] 的一部分,创建本地 Windows 二进制文件,它可以在 MinGW(或 MSYS)外壳之外正常运行。 (不过,与 -static 链接有助于不在 PATH 上的 DLL,例如,对于 MSYS2,msys-2.dll 也必须是可访问的。)
猜你喜欢
  • 2015-08-24
  • 2013-12-28
  • 2017-03-08
  • 1970-01-01
  • 2012-01-18
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
相关资源
最近更新 更多