在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不到的安装程序,由自动安装程序连接服务器进行下载,如果访问外网速度较快,建议选择;
- 离线安装:下载整个安装包,下载后只需解压即可使用,优点是可以使用第三方下载工具下载整个文件,如果访问外网速度较慢,建议选择;
- 如果不能正常访问外网,这里我上传了离线安装包到百度网盘,有需自提;
- 进入MinGW-W64官方网站:http://mingw-w64.org,点击
Downloads
进入下载页面:
- 该页面下的
Pre-built toolchains and packages
是包含了Mingw-w64及特定工具的整合包,这里我们只需要下载Mingw-w64,所以点击下面的SourceForge
,进入Mingw-w64代码的托管网站:
- 进入Source Forge后,点击
File
一栏,然后点击自己需要的版本进行下载:
在线安装包:
mingw-w64-install.exe
离线安装包:
其中的选择参数说明如下表:
参数分类 | 参数 | 说明 |
---|---|---|
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
- 双击运行下载的在线安装程序:
- 点击
Next
,安装程序自动连接服务器以便获取需要的文件:
- 要安装的MinGW-W64版本选择:
- 选择MinGW-w64的安装目录(安装路径不要有中文和空格):
- 等待安装完成即可。
3.2. 离线安装MinGW-W64
- 解压下载的离线安装包:
- 将其中的
mingw64
文件夹复制到安装的目录下(这里我直接复制到C盘); - 安装完成。
4. 配置环境变量
MinGW-W64安装完成后,其工具都在bin
目录下,如图:
为了在命令行使用这些工具,需要将该目录配置到path
环境变量中:
- 右击
计算机
,选择属性->高级系统设置->环境变量
,选中系统变量中的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 <stdio.h>
#include <stdlib.h>int main(void)
{/* 打印Hello World */printf("Hello World.\n");/* 程序暂停,便于观察结果 */system("pause");/* 程序返回,结束 */return 0;
}
- 编写makefile
hello.exe:hello.cgcc hello.c -o hello.exe
- 编译
make
- 运行:在命令行输入
hello.exe
运行或者直接双击hello.exe
可执行程序:
在Windows上使用Mingw-W64进行C/C++开发(gcc工具链)相关推荐
- 【PC工具】Windows 上编辑树莓派(linux EXT)分区文件工具——Ext2Fsd
官网:http://www.ext2fsd.com/ 版本:0.69 功能:看我下边用一种巧妙的方式引入这个软件的功能 第一次使用树莓派,(好不容易)按照教程将镜像写入了SD卡,突然弹出(下图)要我格 ...
- Windows上优秀的命令行(Terminal Emulator)工具推荐
强大的命令行对于开发者是必要的,而Windows自带的cmd实在太弱了,Powershell勉强还行,但着实没有Linux上的命令行方便.为此也有一些WIndows第三方命令行工具开发出来,如cmde ...
- ming window 交叉编译_如何在Linux for Windows上与MinGW交叉编译?
我正在尝试使用MinGW在 Linux上编译Windows的Qt5应用程序. 我正在使用Travis-CI来获得两个Windows可执行文件(win32,win64)的连续构建. 我已经建立了一个构建 ...
- Windows上安装MinGW(GCC),各个Package的作用
MinGW - Minimalist GNU for Windows -- MinGW Base System --– MinGW Compiler Suit ---- mingw32-binutil ...
- 在 windows 7 和 MinGW 下编译 OpenOCD 过程
先说一下我的软硬件环境: 硬件: 一块评估板 Atmel SAMD21 xplained pro 没有普通的 Jtag 口, 它提供了 EDBG USB 口, 支持 CMSIS-DAP, OpenO ...
- 在windows上配置VScode支持ARM GCC开发环境
简单有效的在windows上,配置VS Code,以支持GCC开发环境.没有什么花里胡哨的. 需要用到的工具 Visual Studio Code :编辑工具 ARM GCC : ...
- Windows上的Docker机器–如何设置主机
最近我一直在和Docker一起玩. 可以肯定地说,有很多原因,我肯定喜欢玩最新技术,甚至帮助建立一个或两个演示或一个实验室. 我的大学其他人之间所做的主要区别是,我在Windows上运行设置. 像大多 ...
- 64位Windows上最好的免费软件(Best Free Windows 64-bit Software)
http://www.techsupportalert.com/cn/best-free-windows7-vista-64-bit-software.htm 本份针对64位Windows的最佳软件清 ...
- Windows 10 下基于WSL的开源飞控开发环境配置(Ardupilot/PX4)
目录 0 环境 1 环境概述 2 配置 WSL 2.1 安装 WSL2 2.2 安装工具链 3 配置VS Code 0 环境 Windows 10 build version >= 18917 ...
- (Windows系统)MATLAB2021a安装MinGW -w64
%%MATLAB2021a安装MinGW -w64%%%%%%%%%%%%% %%创建时间2021年6月24日%%%%%%%%%%%%%%%%%%% %%创建者回全奇%%%%%%%%%%%%%%%%% ...
最新文章
- layout布局_Android ConstraintLayout 降低布局层次,布局优化首选
- java四神兽_SpringCloud五大神兽之Eureka
- 笔记本连接显示器后没有声音_电脑用HDMI外界显示器后,没有声音
- mysql8.0版本的服务器名称_Linux服务器配置-VSFTP服务配置(六)
- TechEd 2008 Developers: 新闻汇总
- Python计算今年第n个周m是几月几号
- 威胁情报工具:更快?更聪明?
- 如何合理地决定线程池大小?
- python数据分析之(6)简单绘图matplotlib.pyplot
- Atitit 团队工具链体系打造---开发方面提升效率的软件与技术体系 attilax总结.docx
- 《大学之路》读书笔记(上)范文3700字
- 春日街拍夯货 原来你离时尚只有一道水波纹的距离
- 计算机打不开管理没反应,为什么电脑上的软件打不开点了没有反应任务管理器也打不开...
- 返乡之路不容易之12306余票查询并给出备选方案v2
- 不要因为不知,所以设计
- 全连接神经网络(FCNN)
- 【渝粤教育】国家开放大学2018年春季 0049-22T法律文书 参考试题
- 低频125KHZ|134.2KHZ安卓手持机|RFID智能终端CK-LH100-SYS性能与应用方案
- CSS入门(CSS常用属性----字体、对齐方式、display属性、浮动)
- 2019 最新版百度云下载破解限速工具,一个办法让你告别下载慢的体验!