在Windows上安装最新版本的mingw-w64

18

我正努力尝试安装mingw-w64的最新版本以在Windows 10上使用gcc 10。

我过去使用了mingw-w64的在线安装程序,但它仍然停留在2018年的8.1.0版本,似乎已经被放弃了。

因此,我尝试手动安装。

在SourceForge或GitHub镜像上,您似乎只能获取一大堆代码,没有明确的说明该怎么做、如何构建和安装。我找到的唯一安装说明要求您已经安装了可用的gcc(如果这是您要安装的内容,那非常有帮助)。

在mingw-w64的网站和维基上提到了一个预编译的二进制软件包。但我找到的唯一一个已经过时了。

与clang或Microsoft Build工具的安装过程相比,我真的无法想象安装这样基本的东西会如此困难。

也许只是我忽略了明显的问题,但您真的如何安装这个东西呢?


2
我使用过Stephan Lavavej的MinGW发行版,效果不错。(官方发布的)版本就不太清楚了。 - Quentin
我花了很多时间搜索它,在线安装程序只是询问问题以安装MinGW-W64 GCC-8.1.0部分中存在的文件之一,并添加卸载程序,也许该项目已经死亡,但需要确认。 - user10191234
5个回答

22

GCC 10 正式发布。 可从 https://winlibs.com 下载适用于 Windows (MinGW-w64) 的个人版本,无需安装,只需提取到文件夹即可。


2
提取并运行FTW。部署SSL证书,这可能成为获取Mingw进行离线部署的最受欢迎的方式。 - Abel
@Abel,您说的“部署SSL证书”是什么意思? - Brecht Sanders
2
你的网站使用的是http而不是https。 - Abel
我想感谢您的构建。msys2构建mingw-w64 gdb会带入python和一堆其他垃圾(真正的Linux软件包风格!) - Karsten Pedersen

3
从源代码在Windows上构建GCC非常困难,不建议初学者尝试。此外,GCC 10尚未正式发布,您可能需要等待几周才能获得它。
如果您想在Windows上使用最新的GCC(当前版本为9.3),建议下载并安装MSYS2软件包。安装后,使用"MinGW64"图标启动它,并在终端中安装正确的编译器。有关详细信息,请参见这个问题:如何安装MinGW-w64和MSYS2? 完成后,您可以忘记MSYS2并仅使用带有二进制文件的目录,在您的PATH中使用它。
MSYS2的维护人员非常热衷于支持最新的软件,所以一旦GCC 10发布,您就能很快更新它(使用命令pacman -Syu)。

1

通过MSYS2安装可以获得gcc 10.1。

您可以将MSYS2视为一个软件包管理器,用于保持gcc的最新版本,并且如果您喜欢,可以不使用其shell。它的软件包包括独立的32位gcc、独立的64位gcc和MSYS2目标gcc。这与在Linux系统上通过软件包管理器安装gcc非常相似。


“安装这么基础的东西为什么会这么令人困惑,这不是开源软件常有的事情吗?因为没有客户收入流来支付开发人员构建和维护平稳安装程序的费用。有人必须承担主机和维护二进制版本的工作,通常人们出于善意会做一段时间,然后就离开了,就像似乎已经发生在“官方”mingw-builds安装程序中一样。所以,虽然您今天在本主题中看到的解决方案现在可以使用,在几年后,答案可能会有所不同。”

1

我建议通过MSys2 https://www.msys2.org/ 获取MinGW。

首先安装MSys2,然后通过更新软件包数据库和更新pacman来执行完整更新。

pacman -SySu

更新完成后,它会要求您关闭终端而不退出shell。请这样做,然后通过运行完整的更新来执行操作。
pacman -Su

之后您可以安装mingw-w64软件包。使用

pacman -Ss mingw

列出所有可用的软件包。使用以下命令进行安装:
pacman -S ${PACKAGE_NAME}

0

前往环境变量。您可以在控制面板的搜索窗格中搜索找到它。一旦单击“环境变量”,您应该会看到一个新的弹出窗口。单击“系统变量”下的编辑。浏览直到找到“PATH”。单击“编辑”。

现在是非常重要的步骤。您将在“变量值”下看到一个现有地址。将其复制(最好复制到文本文档中)。在该地址中,删除两个分号之间包含mingw32的地址。现在添加新安装版本的“bin”文件夹的地址(任何位置都可以,但必须在两个分号之间)。

然后将整个新地址再次粘贴回“变量值”字段中。对于所有内容,单击“确定”。

现在它应该基本上可以工作了。这就是我所做的。您可以通过在CMD中运行“g++ --version”来检查是否已更新。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接