目录

MinGW-w64 编译套件(GNU 工具集)

前言

MinGW/MinGW-w64(Minimalist GNU for Windows)是为 windows 系统打造的编译器套件,其主要是把 GNU 的 gcc、make 等编译工具移植到 Windows 平台下,并且包含了 Win32API ,使得原是在 linux 写的 C 源代码可以在 Windows 上编译及运行(exe 执行文件)。MinGW-w64 使用 Windows 的 C 语言运行库,因此编译出的程序不需要第三方 DLL,可以直接在 Windows 下运行。MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成 32 位可执行程序,而 MinGW-w64 则可以编译生成 64 位或 32 位可执行程序。因此 MinGW 现已被 MinGW-w64 所取代,并且 MinGW 也早已停止了更新。更多的编译构建工具知识,请移步《linux-编译-linux 编译构建工具》。
TDM-GCC 衍生自 MinGW 和 MinGW-w64 的项目(功能是一样的),也是分为 32 位与 64 位两个版本,32 位版本的编译目标仅兼容 32 位应用程序,64 位版本的编译目标兼容 32 和 64 位应用程序。TDM-GCC 对比 MinGW-w64 会集成更新的 gcc 编译器,目前集成的版本为 GCC 10.3.0。

安装

1、MinGW-w64 的下载

一、版本说明

对于 MinGW-w64 的安装方式,分为在线安装和离线安装,但无论哪种安装方式,必须事先要理清软件不同类型的版本!关于 MinGW-w64 版本,打开【官方下载网页】,发现有很多类型版本,那是因为 MinGW-w64 是一个编译软件,涉及其本身是 32 位还是 64 位软件,还涉及其编译生成的应用软件是 32 位还是 64 位软件,以及用户目标程序使用哪种的线程模型来编写等等。所以我们需要根据自己实现情况选择对应版本,一般而言选择 x86_64-posix-sjlj 即可,关于 MinGW-w64 版本详细说明如下:

../img/20220428_01_01.jpg

版本
适用范围
● 软件在线安装
1、MinGW-W64-install.exe 在线安装器(安装过程选择类型版本)
● 操作系统位数
1、x86_64 MinGW-W64 为 64 位 Windwos 软件
2、i686 MinGW-W64 为 32 位 Windwos 软件
● 使用线程模型
1、posix 用于应用软件跨平台编译,但性能会下降
2、win32 专用于 Windows 系统软件编译
● 异常处理系统
1、sjlj 有性能损失,适合 32/64 位程序编译
2、seh 无性能损失,只适合纯 64 位程序编译
3、dwarf 无性能损失,只适合纯 32 位程序编译

二、下载说明

MinGW-w64 分为在线安装和离线安装,根据个人喜好选择对应版本下载即可。由于官方将下载托管到 SourceForge 上,所以你可以从【官网】链接到下载页面下载,也可直接打开 SourceForge【下载页面】下载。

../img/20220428_01_02.jpg

2、MinGW-w64 的安装

一、在线安装

其实在线安装与离线安装无本质区别,在线安装程序(mingw-w64-install.exe)其实就是将【离线软件包】下载到【指定的目录下】而已,完成后还是需要手工将软件路径加入系统环境变量中。不建议在线安装,因为本人尝试了 N 次在线安装程序都没能成功下载【离线软件包】!下图为在线安装流程:

../img/20220428_01_03.gif

说明一:Version 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。
说明二:Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。
说明三:对于电脑只有两种操作系统,符合 posix 线程模型的 linux 等系统和 Windows 系统。开发 Windows 程序,则选择 win32 ;而开发 Linux、Unix、Mac OS 程序,则选择 posix 。
说明四:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64 位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32 位。 sjlj 稳定性好,而且支持 32位。
说明五:关于将软件路径加入系统环境变量请查看下节离线安装说明。

二、离线安装

1、到【官网】打开页面下载离线包:

../img/20220428_01_04.jpg

2、离线包解压到自定义目录下:

../img/20220428_01_05.jpg

3、gcc 编译器工具所在的路径:

../img/20220428_01_06.jpg

4、将路径添加到系统环境变量:

../img/20220428_01_07.jpg

加入系统环境变量后,打开命令窗口,无论在何路径下,直接输入gcc命令即可使用 gcc 编译程序了。

3、TDM-GCC 的下载

一、下载说明

TDM-GCC 也是分为在线安装和离线安装,但两者无本质区别,其实都是选择两个安装包:tdm64-gcc、tdm-gcc。由于到国外下载不稳定,个人建议选择下载离线安装包!相关网址:【官网】、【下载页面】。

4、TDM-GCC 的安装

一、离线安装

双击安装文件打开安装界面,不需要勾选检测是否最新版本,直接点击Creat安装即可,最后在命令窗口输入gcc -v可查看 gcc 版本。特别说明:查看 make 版本的命令为mingw32-make -v(与 MinGW 一样)。

../img/20200915_10.jpg

使用

1、在命令窗口输入gcc -v可查看 gcc 版本。
2、查看 make 版本的命令为mingw32-make -v
3、Windows下使用MakeFile(Mingw)文件

待续……