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 版本详细说明如下:
版本 |
适用范围 |
---|---|
● 软件在线安装 | |
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【下载页面】下载。
2、MinGW-w64 的安装
一、在线安装
其实在线安装与离线安装无本质区别,在线安装程序(mingw-w64-install.exe)其实就是将【离线软件包】下载到【指定的目录下】而已,完成后还是需要手工将软件路径加入系统环境变量中。不建议在线安装,因为本人尝试了 N 次在线安装程序都没能成功下载【离线软件包】!下图为在线安装流程:
● 说明一:Version 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。
● 说明二:Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。
● 说明三:对于电脑只有两种操作系统,符合 posix 线程模型的 linux 等系统和 Windows 系统。开发 Windows 程序,则选择 win32 ;而开发 Linux、Unix、Mac OS 程序,则选择 posix 。
● 说明四:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64 位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32 位。 sjlj 稳定性好,而且支持 32位。
● 说明五:关于将软件路径加入系统环境变量请查看下节离线安装说明。
二、离线安装
1、到【官网】打开页面下载离线包:
2、离线包解压到自定义目录下:
3、gcc 编译器工具所在的路径:
4、将路径添加到系统环境变量:
加入系统环境变量后,打开命令窗口,无论在何路径下,直接输入gcc
命令即可使用 gcc 编译程序了。
3、TDM-GCC 的下载
一、下载说明
TDM-GCC 也是分为在线安装和离线安装,但两者无本质区别,其实都是选择两个安装包:tdm64-gcc、tdm-gcc。由于到国外下载不稳定,个人建议选择下载离线安装包!相关网址:【官网】、【下载页面】。
4、TDM-GCC 的安装
一、离线安装
双击安装文件打开安装界面,不需要勾选检测是否最新版本,直接点击Creat
安装即可,最后在命令窗口输入gcc -v
可查看 gcc 版本。特别说明:查看 make 版本的命令为mingw32-make -v
(与 MinGW 一样)。
使用
1、在命令窗口输入gcc -v
可查看 gcc 版本。
2、查看 make 版本的命令为mingw32-make -v
!
3、Windows下使用MakeFile(Mingw)文件
待续……