MinGW的安装和使用

以下内容源于网络资源的学习与整理,如有侵权请告知删除。

参考博客

1、如何在Windows上使用GCC编译器?

2、MinGW安装和使用-腾讯云开发者社区-腾讯云

3、Windows中安装GCC详细教程

一、MinGW的简介

GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的,如果我们想在 Windows 平台使用 GCC 编译器,可以安装 GCC 的移植版本。

目前适用于 Windows 平台、受欢迎的 GCC 移植版主要有 2 种,分别为 MinGW 和 Cygwin。

其中,MinGW 侧重于服务 Windows 用户可以使用 GCC 编译环境,直接生成可运行 Windows 平台上的可执行程序,相比后者体积更小,使用更方便。而 Cygwin 则可以提供一个完整的 Linux 环境,借助它不仅可以在 Windows 平台上使用 GCC 编译器,理论上可以运行 Linux 平台上所有的程序。

MinGw 全称 Minimalist GNU for Windows,应用于 Windows 平台,可以为我们提供一个功能有限的 Linux 系统环境以使用一些 GNU 工具,比如 GCC 编译器、gawk、bison 等等。

它由以下几部分组成:

  • 编译器(支持C、C++、ADA和Fortran);
  • GNU工具;
  • mingw-get(用于Windows平台安装和部署MinGW和MSYS的命令行安装器);
  • mingw-get-inst(用于GUI打包)。

二、MinGW的安装

1、下载下载器

MinGW官方网址:http://www.mingw.org/

如果上述网站出错,则到网址 MinGW - Minimalist GNU for Windows 下载。

上述操作将得到一个名为 mingw-get-setup.exe 的安装文件。

2、安装下载器

1、双击运行刚刚下载的安装文件,看到如下界面:

2、点击“Install”进入下面界面,然后选择默认的安装路径即 C:\MinGW,点击"Continue"继续。

3、等待安装完成(可能会有错误提示,多尝试几次就好),然后点击"Continue"。

此时桌面出现下面图标,并且在C:\MinGW\bin目录下存在mingw-get.exe文件,则表明安装成功。

3、安装组件

上面只是安装了一个下载器。接下来我们将通过这个下载器,在线下载与安装所需的组件。

1、双击运行下载器(有的版本在安装之后会自动运行),看到下面这个界面:

2、选择所需的组件,然后右键选择“Mark for Installation”。

这里为了使 GCC 同时支持编译 C 语言和 C++,需勾选下图中标注的 2 项。

在安装程序中,复选框为绿色表示已经安装的项目,复选框为白色表示没有安装的项目。因此如果需要删除,只需要在绿色复选框右键后选择“Mark for removal”即可。

勾选完成后,在菜单栏中选择Installation -> Apply Changes,弹出如下对话框:

选择“Apply”,然后耐心等待,直至安装成功,即可关闭此界面。

3、整个安装过程中可能会提示某些组件下载失败,但没关系,后续需要时,可以通过 MinGw Installer 安装界面中的 “All Packages”选项中,手动选择指定的安装包进行安装。而且如果没有安装成功,关闭安装时会有相关提示,此时重复下载可能就会安装成功。


又或者不进行上面“3、安装组件”的123步骤,在完成“2、安装下载器”后,在C:\MinGW\bin目录下会存在 mingw-get.exe 文件。我们首先把 C:\MinGW\bin写入环境变量Path中(见下面第5点),然后在 Windows 平台的命令窗口中输入“mingw-get install gcc”,此时会自动下载gcc相关的组件(而不像上面“3、安装组件”的123步骤那样可以根据需要选择组件)。

这样最简单,可以避免某些所需组件下载失败的情况,如下所示:

Microsoft Windows [版本 10.0.22624.1680]
(c) Microsoft Corporation。保留所有权利。

C:\Users\XJH>mingw-get install gcc
http://prdownloads.sourceforge.net/mingw/libquadmath-6.3.0-1-mingw32-dll-0.tar.xz?download
165.01 kB / 165.01 kB   |================================================| 100%
http://prdownloads.sourceforge.net/mingw/libgomp-6.3.0-1-mingw32-dll-1.tar.xz?download
59.55 kB / 59.55 kB     |================================================| 100%
http://prdownloads.sourceforge.net/mingw/binutils-2.28-1-mingw32-bin.tar.xz?download
2.50 MB / 2.50 MB       |================================================| 100%
http://prdownloads.sourceforge.net/mingw/gcc-core-6.3.0-1-mingw32-bin.tar.xz?download
13.09 MB / 13.09 MB     |================================================| 100%
http://prdownloads.sourceforge.net/mingw/gcc-core-4.8.1-4-mingw32-doc.tar.lzma?download
7.03 MB / 7.03 MB       |================================================| 100%
http://prdownloads.sourceforge.net/mingw/gcc-6.3.0-1-mingw32-man.tar.xz?download
244.10 kB / 244.10 kB   |================================================| 100%
http://prdownloads.sourceforge.net/mingw/gcc-6.3.0-1-mingw32-info.tar.xz?download
504.67 kB / 504.67 kB   |================================================| 100%
http://prdownloads.sourceforge.net/mingw/gcc-6.3.0-1-mingw32-lang.tar.xz?download
1.27 MB / 1.27 MB       |================================================| 100%
install: gcc-6.3.0-1-mingw32-lic.tar.xz
mingw-get: *** ERROR *** package gcc-6.3.0-1-mingw32-lic.tar.xz is already installed
install: gcc-core-4.8.2-mingw32-dev.tar.meta
mingw-get: *** ERROR *** package gcc-core-4.8.2-mingw32-dev.tar.meta is already installed
install: libquadmath-6.3.0-1-mingw32-dll-0.tar.xz
 installing libquadmath-6.3.0-1-mingw32-dll-0.tar.xz
mingw-get: *** ERROR *** C:\MinGW\/bin/libquadmath-0.dll: extraction failed
mingw-get: *** ERROR *** C:\MinGW\/bin/libquadmath-0.dll: probable package conflict; existing file not overwritten
#省略部分内容
mingw-get: *** ERROR *** C:\MinGW\/lib/gcc/mingw32/6.3.0/libgomp.spec: probable package conflict; existing file not overwritten
install: gcc-core-4.8.1-4-mingw32-doc.tar.lzma
 installing gcc-core-4.8.1-4-mingw32-doc.tar.lzma
install: gcc-6.3.0-1-mingw32-man.tar.xz
 installing gcc-6.3.0-1-mingw32-man.tar.xz
install: gcc-6.3.0-1-mingw32-info.tar.xz
 installing gcc-6.3.0-1-mingw32-info.tar.xz
install: gcc-6.3.0-1-mingw32-lang.tar.xz
 installing gcc-6.3.0-1-mingw32-lang.tar.xz

4、确认组件是否安装成功。在C:\MinGW\bin目录下如有下面内容,则表示安装成功。

5、在Windows平台的命令窗口中输入“gcc -v”时,提示gcc不是内部命令。

在当前用户的用户变量Path中,添加路径C:\MinGW\bin即可,如下所示。

此时再输入“gcc -v”,则显示如下:

C:\Users\XJH>gcc -v
 specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/lto-wrapper.exe
mingw32
../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
win32
gcc  6.3.0 (MinGW.org GCC-6.3.0-1)

C:\Users\XJH>

三、MinGW的使用

完成上面操作后,我们就可以在当前 Windows 平台上编译、运行 C 或者 C++ 程序了。

这里以运行一个 C 语言程序为例(假设存储路径为:C:\Users\XJH\Desktop\demo.c):

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Hello, World!\n");
    system("pause");
    return 0;
}

在此基础上,在命令行窗口中执行如下指令:

Microsoft Windows [版本 10.0.22624.1680]
(c) Microsoft Corporation。保留所有权利。

C:\Users\XJH>cd C:\Users\XJH\Desktop\

C:\Users\XJH\Desktop>gcc demo.c -o demo

C:\Users\XJH\Desktop>

则会在C:\Users\XJH\Desktop\(即桌面)生成一个demo.exe 可执行文件。找到该文件并双击,即可看到程序的执行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天糊土

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值