安装MinGW时报错“The file has been downloaded incorrectly!”解决方案

发布时间 2023-08-14 12:08:26作者: 拓吾

前言

作为一个准备学习C语言的准大一的通信工程崽子,Linux还不会用,在Windows上使用gcc得安装MinGW。


我知道各位大佬们看到第一句话之后想说些什么。虽然说有很多优秀的编程软件自带了MinGW,但是想想,如果使用Windows的cmd直接敲个“gcc -v”来跑代码,逼格不直接蹭蹭上涨,能够充分满足我在宿舍里头在舍友面前装X的欲望不是么(狗头保命)


但是跟着教程走来到了MinGW的sourceforge下载站,往下翻直接下载MinGW-W64 Online Installer,选择好配置之后开始下载报错:“The file has been downloaded incorrectly!”

试了N次还是这样,让我心态着实有些爆炸(悲)

后面我想了想,既然这个只是个“Online Installer”(在线安装器),下载完之后还是要自己配置环境变量的,但是下载站里头还有很多很多的下载项目,根据之前使用adb-fastboot给手机整活的经验,或许自己找对文件下载,配置下环境变量就好了。

(或许)正确的步骤

说干就干!

下载

首先我们打开MinGW的sourceforge下载站,然后往下拉,找到

补充

咱们得知道咱们要下载什么。除了第一个是在线下载器之外,剩下的可以这么来看:

·“MinGW-W64 GCC-8.1.0”末尾的8.1.0指的是GCC的版本号,反正对于我这个刚入门的小伙子来说,无脑追新版本就行了

·“i686”指的是32位,“x86_64”则是64位,我的电脑是64位的(现在32位的电脑应该快绝种了吧,毕竟连Windows11都没有32位版本了

·“posix”和“win32”是操作系统接口协议,posix的话是Unix、Linux、MacOS之类的,win32的话则是开发Windows的,学校机房用的也是Windows,那我也无脑选择win32了

·“sjlj”、“seh”、“dwarf”是异常处理模型,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持32位。 sjlj 稳定性好,支持32位。dwarf 的性能要优于 sjlj ,但是它不支持64位。

(补充的这块内容来自这篇知乎教程,我一开始就是跟着这个教程走的)

回到正题。

我自己选择了x86_64-win32-seh(或许你可以直接点击这个下载)。

下载后,挑一个自己喜欢的位置解压下(我个人选择是解压到C:\Program Files里头),不过我不能确定这个是否能够在中文目录下正常使用。

如果不出意外的话,刚刚那个下载失败的下载器会在C:\Program Files下创建一个名为mingw-w64的文件夹(也就是我在截图里头选择的那个,不过具体目录在哪里主要还是看当时操作下载器的时候自己的选择。),如果有强迫症的话建议直接删掉,反正这只是个空文件夹。

配置环境变量

接下来就是最关键的一步啦!打开你刚刚解压的文件夹,再打开名为“bin”的文件夹,随后复制下这个文件夹的目录(比如说我的就是“C:\Program Files\mingw64\bin”)

然后在桌面上右键“此电脑”,点击属性(桌面上没有这个图标的可以在文件资源管理器里头找找。)

如果你是startallback用户的话,你会打开控制面板的电脑属性,其他情况下正常是打开Windows设置里头的电脑属性。反正无论是啥,里头都有一个“高级系统设置”的按钮,点下。

然后你会打开这个界面。

点击“环境变量”,然后双击下面的“Path”(下图)

随后点击新建,把刚刚复制的目录输进去。

接下来一路点击确定就行。

验证安装

到这里基本上就大功告成啦,如果你不放心,可以重启电脑让自己有个心理安慰。

接下来我们验证下是否安装成功。

首先打开cmd,然后输入“gcc -v”并回车

只要输入完后冒出这样一大串就说明大功告成啦~