MinGW安装教程——著名C/C++编译器GCC的Windows版本

时间:2021-05-13 15:27:28

MinGW安装教程——著名C/C++编译器GCC的Windows版本

前言
本文主要讲述如何安装 C语言 编译器——MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用。

编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人更容易理解作者的意图及思想。因此,我将安装 MinGW 的过程和步骤,编写成了这篇以图片为主的教程,为了让看到这篇文章的任何人,都可以很容易按照图片所示正确安装 MinGW。

一、什么是 MinGW ?
MinGW 的全称是:Minimalist GNU on Windows 。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API 和 MSYS,因此可以将源代码编译生成 Windows 下的可执行程序,又能如同在 Linux 平台下时,使用一些 Windows 不具备的开发工具。

一句话来概括:MinGW 就是 GCC 的 Windows 版本 。

二、为什么使用 MinGW ?
1. MinGW 是开源软件,可以免费使用。
2. MinGW 由一个活跃的开源社区在持续维护,因此不会过时。
3. MinGW 支持最新的 C语言 标准。
4. MinGW 使用 Windows 的C语言运行库,因此编译出的程序不需要第三方 DLL ,可以直接在 Windows 下运行。
5. 那些著名的开源 IDE 实际只是将 MinGW 封装了起来,使它拥有友好的图形化界面,简化了操作,但内部核心仍然是 MinGW。

MinGW 是稳定可靠的、持续更新的 C/C++ 编译器,使用它可以免去很多麻烦,不用担心跟不上时代,也不用担心编译器本身有严重漏洞,可以放心的去编写程序。

三、MinGW 适合做什么?
对于熟悉 MinGW 的高手而言,它可以编译任何 C语言 程序。但对于一般人来说,MinGW 太过简陋,连图形用户界面都没有。对于习惯使用鼠标的人来说,是很痛苦的。虽然也可以通过一些配置,让 MinGW 拥有图形用户界面,但那个过程非常麻烦。

除此之外,编译复杂的程序时,还需要你会编写 Makefile ,否则只能一个文件一个文件的编译,可想而知会多么辛苦。

但对于初学 C语言 的人来说,MinGW 是正合适的编译器,至少黑色的命令提示符界面很有编程的气氛,感觉很酷。在刚开始学 C语言 时,一般情况下所有代码都写在一个文件中,只要输入几个简单的命令,就能用 MinGW 编译成可执行文件。虽然  VS2013 等编译器,只要点击下鼠标就可以完成编译,但它会自动生成一大堆工程文件,让初学者摸不着头脑。而 MinGW 则只会生成一个可执行文件。

如果对 MinGW 和 VS2013 等编译器进行一下形容,那么 MinGW 是手动的,而  VS2013 等编译器则是自动的。因此 MinGW 的编译过程更加直观容易理解,也比较适合C语言学习。

总而言之,对于一般人来说,MinGW 适合学习 C语言 时使用,真正工作还是用  VS2013 更好。当然如果您是在 Linux 下工作,那么Code::Blocks可能是一个选择,不过最大的可能是您必须习惯使用 GCC 来编译程序。

四、下载和安装 MinGW
在开始安装之前,请先确认您满足以下几个条件。
1.您的电脑已经连接到网络。
2.您的电脑硬盘有500MB的剩余空间。
3.您现在有充足的时间。(受您当前网速的影响,安装过程可能会花费1、2个小时以上的时间。)

如果您确认,您满足了上述条件,那么就可以开始安装 MinGW 了。

注意:教程中的图片都是实际安装时的原比例截图,如果您看不清图片中的提示语,可以将图片放大,不会影响清晰度。具体做法是点击图片,将会进入到图片的展示页面,在展示图片的左下角,有一个叫“原图”的链接,点击它即可。如果前面的方法失效,您仍然可以通过浏览器放大页面的功能,放大图片,例如在 Chrome 浏览器下,您可以按住 Ctrl 键,然后滚动鼠标滚轮,即可放大页面。

1.MinGW官方网站首页(http://www.mingw.org/)
MinGW安装教程——著名C/C++编译器GCC的Windows版本

MinGW 的官方网站地址是:http://www.mingw.org 。打开这个地址后,我们看到的就是 MinGW 的官方网站首页面,在其中找到 Downloads 下载链接,单击它进入 MinGW 的下载页面。

注意:安装MinGW的时候需要连接到网络,并且下载量很大,如果您的网络环境不是很好,很可能安装失败。

2.MinGW安装管理器下载页面
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在 MinGW 的下载页面中,我们只需单击红色线框中的 Download mingw-get-setup.exe (86.5kB) 链接,下载安装程序即可,因为它总是最新的稳定版 MinGW。(当然如果您很了解 MinGW,也可以从橙色线框所示的目录中手动下载各组件。)

注意:这里下载的只是 MinGW 安装管理器的安装程序,将 MinGW 安装管理器正确安装后,才能安装 MinGW。请不要将安装 MinGW 安装管理器完成,误认为 MinGW已经安装完成了。

3.MinGW安装管理器开始下载
MinGW安装教程——著名C/C++编译器GCC的Windows版本

弹出这个页面之后,倒数5秒,浏览器将会自动下载 MinGW 安装管理器的安装程序。如果您的浏览器没有自动开始下载,则可以点击绿色线框中的 direct link 链接,手动开始下载。下载安装程序的时间应该非常短,因为它只有不到100KB。

4.MinGW安装管理器的安装程序
MinGW安装教程——著名C/C++编译器GCC的Windows版本

双击运行 MinGW 安装管理器的安装程序。

MinGW 安装管理器的安装程序与Chrome、Adobe Flash Player的类似,是在线安装程序,必须联网才能正确安装。它只相当于一个下载器,当其运行时,将会从 MinGW 的官方服务器上下载真正的 MinGW 安装管理器。

5.MinGW安装管理器的安装程序——首页
MinGW安装教程——著名C/C++编译器GCC的Windows版本

双击运行 MinGW 安装管理器的安装程序后,会首先显示这个页面,上面写了一些 MinGW 安装管理器的介绍,这里我们不用管它,直接单击 Install 按钮开始安装。

注意:单击 View Licence 按钮可以查看软件的许可协议,MinGW 是开源软件,对于一般人来说,反正可以免费使用,至于具体条款,基本不需要在意。

6.MinGW安装管理器的安装程序——安装选项页
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在这一步只需修改 MinGW 要安装在哪个目录,其他使用默认设置即可。

注意:安装 MinGW 需要500MB左右的硬盘空间,确定您选择的目录所在的硬盘分区有足够的剩余空间。

7.MinGW安装管理器的安装程序——管理器开始下载安装
MinGW安装教程——著名C/C++编译器GCC的Windows版本

现在安装程序已经正式开始下载并安装 MinGW安装管理器 了,在这个步骤里所花费的时间,决于您所在地区的网络环境的好坏,一般来说并不会花费太长时间,在数分钟范围内即可完成。

8.MinGW安装管理器的安装程序——管理器下载安装完成
MinGW安装教程——著名C/C++编译器GCC的Windows版本

现在 MinGW 安装管理器已经安装完成,我们可以开始正式安装 MinGW 了。

9.MinGW安装管理器的快捷方式
MinGW安装教程——著名C/C++编译器GCC的Windows版本

MinGW 安装管理器安装完成后,会在桌面创建一个快捷方式,以后只要双击它就可以启动 MinGW 安装管理器,管理已安装的组件,或者添加安装新的组件。

10.MinGW安装管理器界面
MinGW安装教程——著名C/C++编译器GCC的Windows版本

这是 MinGW 安装管理器的主界面,通过这里我们可以下载、安装、管理 MinGW 和组件。

11.MinGW安装管理器——界面介绍
MinGW安装教程——著名C/C++编译器GCC的Windows版本

一般来说,我们只需要一些基础组件即可满足我们编译C/C++程序,所以选择左侧目录中的第一项 Basic Setup 即可,之后我们就可以在右侧选择需要的组件了。

12.MinGW安装管理器——查看组件
MinGW安装教程——著名C/C++编译器GCC的Windows版本

鼠标左键单击需要的组件,即可在主界面右下侧看到对于选择中组件的详细信息。

13.MinGW安装管理器——单击组件选框
MinGW安装教程——著名C/C++编译器GCC的Windows版本

然后在组件上单击鼠标右键,再在弹出的右键菜单中单击 Mark for Installation 选项,即可将组件进行标记。在之后的操作完成后,管理器将会自动安装被标记了的组件。

14.MinGW安装管理器——选中组件
MinGW安装教程——著名C/C++编译器GCC的Windows版本

如图所示,将所需的4个组件全部标记。

因为我们只是为了编译 C/C++ 程序,所以只需安装 mingw-developer-toolkitmingw32-basemingw32-gcc-g++msys-base 这4个组件即可。

15.MinGW安装管理器——应用更改
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在我们所需的4个组件都已标记完成后,单击菜单栏上的 Installation 选项,并在弹出的菜单中单击 Apply Changes 选项。

16.MinGW安装管理器——确定安装
MinGW安装教程——著名C/C++编译器GCC的Windows版本

弹出的这个是确认窗口,我们直接单击 Apply 按钮,之后安装管理器就会真正的开始下载安装 MinGW 了。

17.MinGW安装管理器——开始下载安装MinGW组件
MinGW安装教程——著名C/C++编译器GCC的Windows版本

MinGW 安装管理器正在一边下载一边安装 MinGW,在这一过程中,视乎您的网络情况,可能会花费很长的时间。而且因为安装管理器链接的是外国的服务器,也会导致下载速度缓慢,所以我们需要耐心的等待一段时间。

18.MinGW安装管理器——MinGW安装完成
MinGW安装教程——著名C/C++编译器GCC的Windows版本

现在 MinGW 已经下载安装完成了,我们关闭这个窗口。

19.MinGW安装管理器——检查更新
MinGW安装教程——著名C/C++编译器GCC的Windows版本

这是 MinGW 安装管理器自动检测组件的更新情况,我们不用理会,直接关闭。

20.MinGW安装管理器——已安装的MinGW组件
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在安装管理器的主页面中,我们已安装的 MinGW 组件的前面的复选框会填充成绿色,我们以后可以根据它来管理 MinGW 的组件。

21.MinGW安装目录结构
MinGW安装教程——著名C/C++编译器GCC的Windows版本

至此 MinGW 已经安装到了您的电脑中,但这时还无法使用它编译 C/C++ 代码,您需要对操作系统进行一些设置。

22.MinGW设置——属性
MinGW安装教程——著名C/C++编译器GCC的Windows版本

我们这时回到电脑桌面上,找到 这台电脑(Windows 7 以前的系统叫 我的电脑) 的图标,鼠标右击打开菜单,单击 属性 选项,会打开 系统 窗口。

23.MinGW设置——高级系统设置
MinGW安装教程——著名C/C++编译器GCC的Windows版本

我们在系统窗口中用鼠标单击页面左侧的 高级系统设置 选项,从而打开 系统属性 窗口。

24.MinGW设置——系统属性
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在打开的系统属性窗口中,我们单击 高级 选项卡,切换到图片所示的页面,然后在用鼠标单击 环境变量 按钮。

25.MinGW设置——环境变量
MinGW安装教程——著名C/C++编译器GCC的Windows版本

拖动环境变量窗口下半部分的 系统变量 区域的滑块,并找到 Path 这个变量,然后单击选中它,点击 编辑 按钮。

26.MinGW设置——复制bin目录地址
MinGW安装教程——著名C/C++编译器GCC的Windows版本

这时我们打开 MinGW 安装目录中的 bin 目录,然后单击地址栏,复制红色线框中的地址。

27.MinGW设置——设置path
MinGW安装教程——著名C/C++编译器GCC的Windows版本

把我们刚复制的 bin 目录的地址,粘贴在变量值输入框里所有值的最末尾,并且一定要注意用 ; 分号将它们分隔开,最后单击 确定 按钮保存修改。

现在 MinGW 已经配置完成,我们可以启动命令提示符测试一下了。

28.Win8启动命令提示符
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在 Windows 8 中启动命令提示符。

29.命令提示符
MinGW安装教程——著名C/C++编译器GCC的Windows版本

现在我们开始测试 MinGW 是否安装成功。在打开的命令提示符窗口中,输入 gcc 这串字符,然后按键盘上的回车键(Enter)。

30.MinGW安装成功
MinGW安装教程——著名C/C++编译器GCC的Windows版本

恭喜,如果出现了上图所示的提示信息,则证明您的 MinGW 已经安装成功,可以用它来编译代码了。

五、使用MinGW编译代码
MinGW 是命令行工具,没有图形用户界面,全部操作靠在命令提示符中输入命令来执行。对于习惯了鼠标和图形用户界面的人,这种操作方式会比较难以接受,可能会产生为什么没有图形用户界面这种疑问。你可能在网上找到很多长篇大论,来向你解释不那么做的理由,而在这里我简单明了的告诉你,之所以没有图形用户界面,是因为编写一个图形用户界面非常麻烦,而大部分程序员都讨厌麻烦,既然没有图形用户界面也可以用,何必自找麻烦呢?将这些节省下来的时间,用在提升程序效率方面显然更划算。

当然,世界上有很多 IDE ,它们有着漂亮的图形用户界面,而内置的编译器就是 GCC ,如果你实在不想用命令行工具,也可以使用它们。

A.MinGW的gcc编译命令
MinGW安装教程——著名C/C++编译器GCC的Windows版本

格式:gcc 源代码文件的名字

示例:gcc hello.c
解释:gcc 是 MinGW 内置的编译命令,hello.c 则是我们要编译的源代码文件的名字。
注意:首先,gcc 命令和源代码的文件名之间有一个空格。其次,文件名必须完整正确,不能省略后缀名。

因为 MinGW 本来就是将 GCC 移植到 Windows 上的产物,所以操作方式和 GCC 一样,只是在 Linux 下命令是被键入到“终端”中,而 Windows 下则是被键入到“命令提示符”里。

B.创建hello.c源代码文件
MinGW安装教程——著名C/C++编译器GCC的Windows版本

在用 gcc 命令编译源代码之前,我们首先要有一个存储了C语言代码的文件。C语言的源代码文件其实就是普通的文本文件,唯一的区别就是后缀名不同,文本文件的后缀名是 .txt ,而C语言源代码文件的后缀名是 .c 。

所以我们新建一个文本文件,名字可以任意取,我这里就将其命名为 hello ,现在文件的完整名字就是 hello.txt 了。之后我们只需要把 hello.txt 的后缀名 .txt 更改为 .c 后缀名,这样就得到了C语言源代码文件 hello.c 了。

C.在hello.c文件里编写代码
MinGW安装教程——著名C/C++编译器GCC的Windows版本

这里用 Windows 自带的记事本或任意文本编辑器,将 hello.c 这个源代码文件打开,然后将上图所示的测试代码键入到文件中,最后保存文件即可。现在测试用的源代码文件已经准备完成,我们可以进行下一步的编译了。

这段代码是最基础的 hello world 程序,会在屏幕上显示 hello, world 这段文字。相信这是学编程的大多数人,入门时的第一个程序,所以这里也就不再赘述了。

D.将hello.c编译成可执行文件
MinGW安装教程——著名C/C++编译器GCC的Windows版本

之前说过 MinGW 是命令行工具没有图形用户界面,所以编译操作需要在命令提示符中进行。

首先我们打开命令提示符,然后要将工作目录定位到源代码文件的存储位置,这一步非常重要,没有接触过命令行工具的人,往往会在这里出错。DOS 命令 cd 可以改变当前的工作目录,具体做法是 cd 命令后面加上目标工作目录,如上图第三行,就是重新定位到 d 盘的 test 目录下。使用完 cd 命令后,还要再键入一次定位到的目录的地址,这样才会转移过去,但只需要键入盘符即可,并不需要键入完整地址,如上图第四行。工作目录重新定位后,如上图第五行所示,工作目录已经从 C:\Users\lenovo 更改为 d:\test 。

现在我们只需要执行 gcc hello.c 这行命令,就可以将源代码编译为可执行程序了。

E.hello.c编译后的可执行程序
MinGW安装教程——著名C/C++编译器GCC的Windows版本

如上图所示,a.exe 就是编译后生成的可执行程序。因为我们编译时没有指定生成的程序名,所以 MinGW 默认将程序命名为 a ,加上后缀名就是 a.exe 了。如果我们想在编译时就指定生成的程序名,就需要使用 gcc 命令的 -o 选项了。

F.MinGW编译命令gcc的-o参数
MinGW安装教程——著名C/C++编译器GCC的Windows版本

格式:gcc 源代码文件的名字 -o 编译后程序的名字

示例:gcc hello.c -o hello.exe
解释:gcc 这个命令拥有很多内置选项,其中 -o 表示将它后面的单词设置编译后文件的名字。
注意:选项 -o 是英文字母,并不是数字零,并且它的后面只能是想设置的文件名。

这种在编译时命名的方法好像很鸡肋,初看好像只是帮我们省了一些时间,毕竟我们也可以在编译后手动改名。这种想法是因为我们的程序还很简单,只有一个源代码文件,也只会编译出一个程序。当以后我们的程序变复杂了,可能会在一个工作目录下编译出复数个程序,这时就必须用 -o 选项了,否则编译出的程序都叫 a.exe ,会在生成时互相覆盖掉。

G.将hello.c编译成名字是hello.exe的程序
MinGW安装教程——著名C/C++编译器GCC的Windows版本

同样要先定位到我们在用的工作目录下,然后执行 gcc hello.c -o hello.exe 这条命令,就会编译生成一个名叫 hello.exe 的可执行文件了。

H.hello.c编译后的hello.exe程序
MinGW安装教程——著名C/C++编译器GCC的Windows版本

执行完 gcc hello.c -o hello.exe 编译命令后,会在工作目录中生成 hello.exe 可执行程序,这就是我们得到的最终成果。

I.双击运行hello.exe程序
MinGW安装教程——著名C/C++编译器GCC的Windows版本

用鼠标双击运行编译后的 hello.exe 程序,会启动一个命令提示符窗口,并在里面显示 hello, world 这几个字符。这代表我们成功的完成了一次编译,将那段C语言代码编译成了计算机可以执行的程序。

J.在命令提示符中运行hello.exe程序
MinGW安装教程——著名C/C++编译器GCC的Windows版本

想要运行编译好的程序,并不是非要用鼠标双击程序启动,也可在命令提示符中直接输入编译后的程序名称,例如输入 hello.exe ,也可以直接运行程序。甚至可以省略程序的后缀名,只需输入 hello 即可,程序同样会正确的运行。

K.使用 MinGW 的进阶学习

上述只是简单的编译源代码的方法,适用于单个或少量源代码文件,如果是复杂的大型程序,要用到 makefile 来组织源代码时,就需要 mingw32-make 命令了。

如果程序编译或运行出错,需要调试源代码,则可以使用 gdb 命令,来帮助我们确定问题产生在哪里。

如果代码没有明显的编译错误,运行时也没有逻辑错误,则在最终编译为可发布版的程序时,我们还要考虑编译优化的问题,以便生成的程序文件拥有更小的体积,和更高的运行效率。gcc 命令有 -00 、 -01 、 -02 、 -03 这几个优化选项,其中 -00 是默认选项,意思是无优化,剩下的几个选项随数字的增大,优化程度也会逐渐增强。