在Windows上使用Mingw-W64进行C/C++开发(gcc工具链)

网友投稿 3031 2022-09-16

在Windows上使用Mingw-W64进行C/C++开发(gcc工具链)

在Windows上使用Mingw-W64进行C/C++开发(gcc工具链)

文章目录

​​1. Mingw及Mingw-W64简介​​​​2. -MinGW-W64​​​​3. 安装MinGW-W64​​

​​3.1. 在线安装MinGW-W64​​​​3.2. 离线安装MinGW-W64​​

​​4. 配置环境变量​​​​5. 解决不能使用make命令的问题​​​​6. 使用示例 —— 编译运行HelloWorld​​

1. Mingw及Mingw-W64简介

​​MinGW项目​​​(​​官方网站​​​)是​​Minimalist GNU for Windows​​的缩写,是​本地Windows应用程序的极简主义开发环境​,该项目旨在​将gcc编译器移植到Windows系统上​,关于gcc编译器,请参考我的另一系列博客:

​​【Linux基础】Linux C语言编程(上篇) | gcc的使用​​​​【Linux基础】Linux C语言编程(中篇) | make的使用​​​​【Linux基础】Linux C语言编程(下篇) | gdb的使用​​

MinGW主要包括:

​GNU Compiler Collection(GCC)​:包括C,C ++,ADA和Fortran编译器;适用于Windows的GNU Binutils:汇编程序,链接程序,归档管理器;一个带有可选GUI的命令行安装程序(mingw-get):用于MS-Windows上的MinGW和MSYS部署;一个GUI首次设置工具(mingw-get-setup):可以方便的使mingw-get启动并运行;

​​Mingw-W64​​​项目(​​官方网站​​)由Mingw项目发展而来,​为了更好的对64位系统和新的API提供支持​,它在2007年对mingw项目进行了分支,得到了广泛的使用和发展,比较主流的一些使用Mingw-w64的项目如下:

​​Fedora cross-compiler​​​​OpenSUSE​​​​LibreOffice​​​​QEMU​​​​Qt​​

除了MinGW,还有一个项目叫​​Cygwin​​​(​​官方网站​​),两个项目的区别如下:

​MinGW旨在将Gcc套件移植到Windows上​,即:对于MinGW提供的gcc,其使用方法和Linux中的Gcc并无差异,但是其编译出的可执行程序是Windows平台的;​Cygwin旨在提供一个类似于Windows上的Linux虚拟机​,使得Linux中的Gcc可以在Windows平台上使用,即:Cygwin提供了一种在Windows平台上运行Linux应用程序的方法;

鉴于当前大多数电脑都是64位机器和windows7/10操作系统,在本文中我们选择使用MinGW-W64。

2. -MinGW-W64

首先需要说明:

MinGW-W64的安装包有离线安装和在线安装两种方式:

在线安装:只需-一个1M不到的安装程序,由自动安装程序连接服务器进行-,​如果访问外网速度较快​,建议选择;离线安装:-整个安装包,-后只需解压即可使用,优点是可以使用第三方-工具-整个文件,​如果访问外网速度较慢​,建议选择;如果不能正常访问外网,这里我上传了离线安装包到百度网盘,有需自提;

参数分类

参数

说明

CPU架构

x86_64

64位

CPU架构

i686

32位

操作系统接口协议

win32

开发windows应用程序

操作系统接口协议

posix

开发Linux、Mac应用程序

异常处理模型(32bit CPU)

dwarf

版本新,性能较好,不支持64位

异常处理模型(32bit CPU)

sjlj

版本低,同时支持32位和64位

异常处理模型(64bit CPU)

seh

版本新,性能较好,不支持32位

异常处理模型(64bit CPU)

sjlj

版本低,但支持32位和64位

​综上所述,我选择-的gcc版本为​​8.1.0​​,其他参数为​​x86_64-win32-seh​​​:

3. 安装MinGW-W64

3.1. 在线安装MinGW-W64

3.2. 离线安装MinGW-W64

4. 配置环境变量

MinGW-W64安装完成后,其工具都在​​bin​​目录下,如图:

为了在命令行使用这些工具,需要将该目录配置到​​path​​环境变量中:

5. 解决不能使用make命令的问题

在MinGW-W64中,因为make是一个自动化编译构建工具,并无32位64位之分,所以​MinGW-W64直接沿用了32位版本中的make工具​,为了表明这个原因,make工具的名称变为​​mingw32-make.exe​​,所以我们​在命令行使用的时候不能直接使用​​make​​命令,而需要输入完整的名称​,很不方便,如图:

如何解决这一问题呢?

其实​只需要将​​mingw32-make.exe​​文件复制出来一个副本,然后将副本更名为make即可​:

在命令行中测试是否可以正常使用make:

6. 使用示例 —— 编译运行HelloWorld

在Windows下使用gcc和make等工具和在Linux下使用方法相同,具体请查看我在文章开篇推荐的博文,此处不作赘述,用一个示例程序演示下使用即可:

编写源代码

/* file hello.c */#include #include int main(void){ /* 打印Hello World */ printf("Hello World.\n"); /* 程序暂停,便于观察结果 */ system("pause"); /* 程序返回,结束 */ return 0;}

编写makefile

hello.exe:hello.c gcc hello.c -o hello.exe

编译

make

运行:在命令行输入​​hello.exe​​​运行或者直接双击​​hello.exe​​可执行程序:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:适合小白的Demo_easyui+core3第一章准备阶段
下一篇:适合小白的Demo_easyui+core3第二章实体类创建
相关文章

 发表评论

暂时没有评论,来抢沙发吧~