【问题标题】:Difference between Win-builds vs MinGW-buildsWin-builds 与 MinGW-builds 之间的区别
【发布时间】:2013-12-28 00:49:14
【问题描述】:

有人知道Win-buildsMinGW-builds 之间的区别吗?我对适用于 Windows 的 C++11 (14) 编译器非常感兴趣,但不幸的是 MSVC 尚未完全兼容 C++11。

【问题讨论】:

  • 您可能还想考虑clang
  • 据我所知,Windows 不支持 clang
  • 不错,Windows 上尚未完全支持它。当前状态见:blog.llvm.org/2013/09/a-path-forward-for-llvm-toolchain-on.html
  • 该项目尝试使用 MSVC-STL 实现构建 llvm 和 clang。也许最好尝试让 libc++ 在没有 msvc 依赖项的情况下在 Windows 上构建。为此,我不太相信那个项目

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


【解决方案1】:

区别很简单:他们的目标略有不同。

特别是,如果你想在 Windows 上开发(即不需要交叉编译),那么你最好使用 MinGW-builds 项目,它本质上提供了几个功能丰富的变体MinGW-w64 工具链。链接中的表格很好地总结了我正在谈论的功能。您基本上可以根据您对寻址模型、线程模型、异常模型的要求来选择编译器。我认为它成熟稳定,因为我在日常工作中使用它,我对质量非常满意。

另一方面,Win-builds 项目的主要目标似乎是交叉编译。您会在链接中的论文中注意到这一点,并且您还会注意到它的功能不如 MinGW 构建丰富,因此您使用它的灵活性较低。与 MinGW 构建相比,它也相对较新,所以我预计可能会遇到一些问题。

注意:请理解,这两个项目都是 MinGW-w64 工具链(支持 x86 和 x64 目标的 Windows 的 GCC 端口)的简单构建(分发的即用型二进制文件) ) 上面两个链接都指向其网站。提供它们只是为了方便用户,因此我们(用户)不必自己编译 MinGW-w64 工具链,但如果您有足够的经验并且知道自己想要什么,没有人会阻止您这样做。

要进一步阅读相关主题和 C++11,我会推荐您可能会感兴趣的 my other answer

祝你好运。

【讨论】:

  • 还没有提到一些具体的区别:(1) mingw-builds 已与 mingw-w64 合并 & win-builds 是一个单独的方,(2) win-builds 包括一个包管理器 @987654324 @(类似于 apt-getyum)添加多达 62 个使用 win-builds 构建的附加软件包 (3) mingw-builds 包括 gfortran,这对于像我这样的数学/科学/工程类型可能很重要(EG 构建 BLAS 和LAPACK 需要 gfortran) 和 (4) win-builds 允许使用 . /opt/windows_64/bin/win-builds-switch 64. /opt/windows_32/bin/win-builds-switch 32 切换工具链
  • 那么,呃,有什么区别?
猜你喜欢
  • 2014-10-24
  • 2013-05-09
  • 1970-01-01
  • 2020-11-14
  • 1970-01-01
  • 2019-09-14
  • 1970-01-01
  • 2018-03-23
相关资源
最近更新 更多