Windows 配置 C/C++ 编译环境指南_安装MinGW与MSYS32

什么是GCC

gcc是c/c++的编译器,通常只能在 Linux 上才能用。如果我们要在windows上使用它,那么我们需要用MinGW来构建环境。让我们在Windows上也可以用gcc编译c代码,gcc与操作系统的api交互的地方mingw都与Windows API做了兼容处理。通过mingw的gcc编译出来的c/c++程序是可以原生在Windows上执行的。

下面是两种GCC环境的安装方式,一般只需要挑选其中一种安装即可,能用命令的地方我都会用命令处理,这样也能学到更多的知识点,文中系统环境版本为 Windows11

MinGW

MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行库。你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行扩展,与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 WindowsAPI功能。

Mingw-w64 是对原始 mingw.org 项目的改进,旨在支持 Windows 系统上的 GCC 编译器。为了提供对 64 位和新 API 的支持,它在 2007 年对其进行了分叉。从那时起,它得到了广泛的使用和分发。

  • 官方网址:
https://www.mingw-w64.org/

下载页面上提供了 MingW-W64MSYS32 下载链接

在这里插入图片描述

下载 mingw-w64 安装包

mingw-w64 源的压缩包托管在 SourceForge

SourceForge下载地址

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

列表下拉,找到 x86_64_win32-sjljx86_64_win32-seh 点击下载

SJLJ (setjmp / longjmp): 可用于32位和64位 – 不是“零成本”:即使不抛出exception,也会造成较小的性能损失(在exception大的代码中约为15%) – 允许exception遍历例如窗口callback
SEH (零开销exception) 将可用于64位GCC 4.8。

在这里插入图片描述

如果碰到无法下载请尝点击 Problems Downloading?尝试其他地区的镜像源

在这里插入图片描述

安装 mingw-w64

下载完成后我们解压 x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z 文件,提取到当前位置,我们将提取后得到的 mingw64 目录移动到D盘下

在这里插入图片描述

配置环境变量

D:\mingw64\bin 目录中的文件就是我们需要的,因此我们需要把该目录添加到环境变量中去
在这里插入图片描述

  • 添加环境变量

以管理员权限打开CMD后输入下列命令,追加一条系统环境变量

setx path "%PATH%;D:\mingw64\bin" /M
  • 检查gcc版本

在cmd窗口中输入gcc-v 查看版本信息,如下图所示则添加环境变量成功。
在这里插入图片描述

MSYS2

MSYS2是一个工具库,提供易于使用的环境,用于构建、安装和运行本机 Windows 软件。

它包括一个名为 mintty的命令行终端、bash、git 和 subversion 等版本控制系统、tar 和 awk 等工具,甚至 autotools 等构建系统,尽管其中一些核心部分基于 Cygwin,但 MSYS2 的主要重点是为本地 Windows 软件提供构建环境。MSYS2 为 GCC、mingw-w64、CPython、CMake、Meson、OpenSSL、FFmpeg、Rust、Ruby 等提供最新的原生构建环境。

为了提供简单的软件包安装和保持更新的方法,它提供了一个名为 Pacman的软件包管理系统,使用过Arch Linux 用户应该会非常熟悉。它的功能非常强大,例如对依赖关系的解析和完整系统升级,以及直接和可重复的包构建。它的资源库中包含2600 多个可以安装的预构建包。

  • 官方网址:
https://www.msys2.org/

下载 MSYS2 安装包

在官方网站中获取到下载链接后我们可以通过 powershell来进行下载安装,

  • 下载命令:
wget -O msys2-x86_64.exe  https://github.com/msys2/msys2-installer/releases/download/2022-06-03/msys2-x86_64-20220603.exe

安装 MSYS2

cmd /c msys2-x86_64.exe

默认安装路径为 C:\msys64

在这里插入图片描述

启动 MSYS2

安装完成后,通过开始栏菜单启动 MSYS2 的控制台 MSYS2 MSYS

在这里插入图片描述

更新包库

在打开的控制台中输入以下命令更新包库

pacman -Syu

出现 以下选项时输入 Y 并按回车继

Proceed with installation? [Y/n]

在这里插入图片描述
出现下列提示 ,键入Y并回车后窗口关闭

 To complete this update all MSYS2 processes including this terminal will be closed. Confirm to proceed [Y/n] 

重新打开 MSYS2 MSYS 控制台并输入下列命令,进行基础包更新

pacman -Su

在这里插入图片描述

出现下列提示, 键入Y并回车。

Proceed with installation? [Y/n]

在这里插入图片描述

安装MinGW-w64

等待所有的包更新完毕后接着就可以安装 MinGW-w64 构建包了

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

出现如下页面会让你选择安装哪些包,由于需要安装的包比较多 我这边就直接回车默认全部安装。
在这里插入图片描述

设置环境变量

  • 添加环境变量

以管理员权限打开CMD后输入下列命令,追加一条系统环境变量

setx path "%PATH%;C:\msys64\mingw64\bin" /M
  • 检查gcc版本

在cmd窗口中输入gcc-v 查看版本信息,如下图所示则添加环境变量成功。
在这里插入图片描述

功能验证

创建C语言文件

我们在当前工作目录写创建一个新的 hello.c

notepad hello.c

hello.c 编写内容如下:

# include <stdio.h>

int main()
{
    printf("%s\n","hello world");
    return 0;
}

在这里插入图片描述

编译文件

输入命令编译成exe可执行文件

gcc hello.c -o hello.exe

在当前目录下会生成 hello.exe 的可执行文件,生成后输入 hello.exe 就可以执行了。

在这里插入图片描述

调试程序

如果想调试程序,进入 gdb 的功能,使用 gdb 常用的命令就可以调试程序了,我们可以输入

gdb hello.exe

在这里插入图片描述

关于环境变量的检查变更

由于是系统环境变量,还是需要以管理员权限执行下列命令

rundll32.exe sysdm.cpl,EditEnvironmentVariables

双击Path 项,查看之前新增加的环境变量项是否存在,如果需要修改调整,可以在原来的设置上做修改,也可以删除后再增加,有重复的可以删除。
在这里插入图片描述

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

传说中的暗暗

您的鼓励是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值