环境搭建 | Windows中MinGW-w64及GCC的下载、安装与配置

news2024/9/22 9:37:16

本文将介绍 GNU、GCC、MinGW 等相关概念,并着重介绍 Windows 中 MinGW-w64 的下载、安装与配置。MinGW-w64 的安装方式有两种:安装程序安装、压缩包安装,压缩包既可在 SourceForge 上下载,也可在 GitHub 上下载。

前导概念

GNU

GNU 是一个自由的操作系统,全称为 GNU’s Not Unix!,起源于 GNU 计划。GNU 计划由理查德·马修·斯托曼(Richard Matthew Stallman)发起,旨在发展出一套完整的开放源代码操作系统来取代 Unix。

GPL

GNU General Public License,GNU 通用公共许可协议,缩写为 GNU GPL 或者 GPL。GPL 基于用户充分的自由,允许用户运行、修改、分发软件,但遵循 GPL 的软件的派生作品也必须遵循 GPL。

GCC

GNU Compiler Collection,GNU编译器套装,是“GNU 计划” 制作的一种优化编译器,支持将 C、C++、Go 等多种语言编译为机器语言。

MinGW

Minimalist GNU for Windows,缩写 MinGW,又称 MinGW32,是 GCC 及 GNU Binutils(一套编程工具)在 Win32 平台上的移植,用于生成 32 位 Windows 可执行文件。

MinGW-w64 用以解决 MinGW 项目更新缓慢、缺少新的重要 API 等问题,并提供 64 位支持,可用于生成 32 或 64 位 Windows 可执行程序。

所以,在 Windows 上安装 GCC 可通过在 Windows 上安装 MinGW 实现。

下载、安装与配置

前置提示:以下提供了两种下载安装方式,若因为网络问题均无法成功,则可考虑使用文末提供的附件,目前附件中包含 8.1.0 和 13.2.0 两个版本的 MinGW-w64。

进入 Downloads - MinGW-w64,在 ⌈Sources⌋ 一栏点击 SourceForge。

在这里插入图片描述

图1 Downloads - MinGW-w64

在 SourceForge 页面往下划,安装方式有两种,一是通过安装程序在线安装,二是下载压缩包解压安装。

在这里插入图片描述

图2 SourceForge
安装程序安装

找到 MinGW-W64 Online Installer 一栏,点击 [MinGW-W64-install.exe](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe) 下载安装程序。

在这里插入图片描述

图3 MinGW-W64 Online Installer

双击安装程序,点击 ⌈Next⌋。

在这里插入图片描述

图4 MinGW-W64 安装

可能会应为网络问题下载失败,提示 “Cannot download repository.txt”。若能通过魔法解决则继续,否则,放弃此安装方式,跳转至压缩包安装。

假设已解决网络问题,继续往下,则指定安装设置,有如下设置需要指定。

Version:GCC 版本,若无特殊要求,选择最新版本即可。

Architechture:架构,64系统 位选择 x86_64,32 位系统选择 i686。

Threads:接口,Windows 选择 win32,Linux、Mac OS 等其他操作系统选择 posix。

Exception:异常机制

  • SJLJ:支持 32/64 位系统。
  • DRARF:仅支持 32 位系统,性能优于 SJLJ。
  • SEH:仅支持 64 位系统,性能优于 SJLJ。
压缩包安装

根据版本、系统架构等信息选择合适的压缩包进行下载。压缩包命名中各部分含义可参考 ⌈安装程序安装⌋ 中的相关介绍。

在这里插入图片描述

图5 MinGW-W64 GCC-8.1.0

将压缩包解压到合适的目录。

在这里插入图片描述

图6 MinGW-W64 解压目录

压缩包除了可以在 SourceForge 下载,还可以在 GitHub 下载,GitHub 上的更新速度貌似比 SourceForge 快。

在这里插入图片描述

图7 GitHub 下载 MinGW-w64

GitHub 上较新版的压缩包的命名又分为 msvcrt 和 ucrt。MSVCRT(Microsoft Visual C++ Runtime)和 UCRT(Universal C Runtime)是 Microsoft Windows 上的两种 C 运行时库。MSVCRT 在所有 Windows 版本上均可用,从 Windows 10 起,支持 UCRT。若支持 UCRT 则建议选择 UCRT。

配置

配置环境变量,在系统变量 Path 中新增项,值为图 6 中 bin 目录的路径。

在这里插入图片描述

图8 MinGW-w64 配置环境变量
验证

在 ⌈命令提示符⌋ 中执行 gcc -v,若显示版本,则说明安装配置成功。

在这里插入图片描述

图9 查看 gcc 版本

END

以上就是本文的全部内容,文档会根据自己的实际使用和各位提出的问题而不断更新。

如果觉得本文对您有一点点帮助,欢迎点赞、转发加关注,这会对我有非常大的帮助,如果有任何问题,欢迎在评论区留言,咱们下期见!

文章文档:公众号 字节幺零二四 回复关键字即可获取本文最新文档及相关附件,关键字放在公众号的本文中。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模型 ORID思维

系列文章 分享 模型,了解更多👉 模型_思维模型目录。"结构化思维,深入探讨,明智决策。 1 ORID思维的应用 1.1 提升员工绩效的ORID模型应用 某企业为了提高员工的工作效率和满意度,采用ORID模型进行绩效面谈&…

【Kubernetes】Containerd-得到好物

目录 一、前言二、好物分享1. nerdctl2. buildkit3. k3s4. k9s5. 镜像加速器 三、物料包下载四、总结 一、前言 小伙伴们好久不见鸭,今天小涛分享一些 Containerd容器运维 非常Amazing的工具,老铁们看看操练起来~ 附:最新可用容器镜像加速链…

150mw绿光激光模组主要用途

在现代科技高速发展的今天,激光技术作为一种高精度、高稳定性的技术手段,已经在众多领域展现出了其独特的优势。其中,150mw绿光激光模组作为激光技术的重要分支,以其卓越的性能和广泛的应用前景,备受瞩目。接下来给大家…

MES系统不良品溯源管理:提升产品质量的利器

一、MES系统与不良品溯源管理 MES系统是一种实现车间生产智能化、信息化的管理系统,通过对生产现场的数据采集、处理和分析,为企业提供实时、准确的生产信息。不良品溯源管理是指在生产过程中,对不良品产生的原因进行追踪和分析,…

一文了解内网穿透以及内网穿透工具 Sunny-Ngrok 的使用指南

文章目录 概述简介内网穿透的原理内网穿透的方法内网穿透的应用场景内网穿透的安全考量 Sunny-Ngrok 内网穿透工具简介使用步骤 主要参考 概述 简介 在现代网络架构中,内网穿透(也称为 NAT 穿透或端口转发)是一项至关重要的技术&#xff0c…

Python | Leetcode Python题解之第375题猜数字大小II

题目: 题解: class Solution:def getMoneyAmount(self, n: int) -> int:f [[0] * (n 1) for _ in range(n 1)]for i in range(n - 1, 0, -1):for j in range(i 1, n 1):f[i][j] j f[i][j - 1]for k in range (i, j):f[i][j] min(f[i][j], k …

探索 AI Agents:从理念到 Python 实际运用

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文主要介绍了如何利用人工智能代理(AI Agents)从概念到Python中的实际应用,以及如何构建一个内容创作工作流程,通过多个代理协作完成从视频分析到博客撰写的复杂任务,完成后也许这会改变你对人…

【STM32】驱动OLED屏

其实我没买OLED屏哈哈哈,这个只是学习了,没机会实践。 大部分图片来源:正点原子HAL库课程 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 显示原理 2 读写方式:8080并口 2.1 支持的指令类型 2.2 …

SAP AUTOMAIL-自动发邮件功能

总结 针对发送邮件内容封装公用函数,针对不同业务场景即可实现AUTO MAIL自动触发邮件。 1. 邮件发送内容:正文,附件,超链接等等 1.1 正文可以是一般内容或表格明细清单,涉及到很多格式的设置,用HTML格式…

SSM网上人才招聘系统—计算机毕业设计源码23541

目 录 摘要 1 绪论 1.1研究意义 1.2研究背景 1.3研究原因 1.4 ssm框架介绍 1.5论文结构与章节安排 2 网上人才招聘系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2…

《黑神话:悟空》游戏中的江苏元素

《黑神话:悟空》作为一款以中国经典文学小说《西游记》为基础创作的动作游戏,不仅在游戏剧情和角色设计上深受原著影响,还在游戏场景和元素中融入了大量的中国传统文化,其中不乏江苏地区的特色元素。以下是对游戏中江苏元素的详细…

音频格式转换免费软件有哪些?实用转换工具大揭秘

不知道大家在日常生活中,会不会跟我一样经常遇到需要将音频文件从一种格式转换为另一种格式的情况呢?无论是为了在不同的设备上播放,还是为了节省存储空间,音频转换软件都显得尤为重要。 我最近发现,市面上有许多音频…

力扣1703.得到连续K个1的最少相邻交换次数

力扣1703.得到连续K个1的最少相邻交换次数 中位数贪心 前缀和 设pi qi - i,则问题变为所有pi到x的距离和的最小值 同时x应取pi的中位数 因此枚举i作为最左端的1,求最小值即可 推出距离和公式:s[i] s[ik] - s[ik/2]2 - p[ik/2](k%2) …

pytorch深度学习基础 8 (使用PyTorch的内置功能和默认参数来构建和训练一个简单的线性模型)

co 上面几节都是自定义了很多东西,比如模型的权重,偏置的大小,学习率,损失函数等等,但是实际上pytorch有很多内置的函数以及默认的参数可以对我们的模型部分进行替换,效果也是非常好的,今天我们…

客户信任的秘密武器:为什么每个网站都需要SSL证书?

SSL证书,是网络安全的一把钥匙,它不仅能够锁住数据的安全,还能够建立起用户与网站之间的信任桥梁。在这个数字化日益发展的时代,每个网站都需要配备SSL证书,其背后的原因是多方面的,涉及到技术、安全、信任…

一文掌握数据要素、数据资源、数据资产、数字资产、数据管理、数据治理、数字资产入表是什么?以及关系

数据要素、数据资源、数据资产、数字资产、数据管理、数据治理、数字资产入表到底是什么呢?他们之间是什么关系呢? 数据要素是构建块,数据资源是这些构建块的集合,而数据资产则是具有价值的资源。数据管理和数据治理则确保这些数据…

Lesson 87 A car crash

Lesson 87 A car crash 词汇 attendant n. 接待员,随从 构成:attend v. 出席,参加    -ant / -ent 人 例如:student 学生    assistant 助理 相关:attendance n. 出勤率 例句:Conan以前是一个好接待…

【已解决】我可以再docker里面装Nginx,然后再Nginx下装java吗?

我可以再docker里面装Nginx,然后再Nginx下装java吗? Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 容器通常…

私域流量池|家政小程序开发,便捷服务新模式

随着时代的进步和需求的日益增长,家政服务行业也迎来了显著的发展提升。随着科技的不断发展,数字化已经成为各行各业的重要趋势。家政小程序因此而应运而生,成为提高家政服务效率的智能化工具。不仅满足了用户对服务的灵活性需求,…