我在windows10下,使用msys64 mingw64终端
系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、MSYS2是什么?
前言
msys2官网
MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。 同时它也是一个在Cygwin (POSIX 兼容性层) 和MinGW-w64(从"MinGW-生成")基础上产生的,追求更好的互操作性的Windows 软件。

一、MSYS2是什么?
MSYS2是一个工具和库的集合,为您提供了一个易于使用的环境来构建、安装和运行本机 Windows 软件。
它包含一个名为 mintty的命令行终端、bash、git 和 subversion 等版本控制系统、tar 和 awk 等工具,甚至还有 autotools 等构建系统,所有这些都基于Cygwin的修改版本。尽管其中一些核心部分基于 Cygwin,但 MSYS2 的主要重点是为本机 Windows 软件提供构建环境,并且将使用 Cygwin 的部分保持在最低限度。MSYS2 为 GCC、mingw-w64、CPython、CMake、Meson、OpenSSL、FFmpeg、Rust、Ruby 等提供最新的本地构建,仅举几例。
为了提供简单的软件包安装和保持更新的方法,它提供了一个名为 Pacman的软件包管理系统,Arch Linux 用户应该很熟悉它。它带来了许多强大的功能,例如依赖项解析和简单的完整系统升级,以及直接和可重现的包构建。我们的软件包存储库包含2800 多个可随时安装的预构建软件包。
有关详细信息,请参阅“什么是 MSYS2?” 它还将 MSYS2 与其他软件发行版和开发环境(如 Cygwin、 WSL、 Chocolatey、Scoop等)进行了比较,以及“谁在使用 MSYS2?” 查看哪些项目正在使用 MSYS2 及其用途。
安装
下载安装程序:msys2-x86_64-20230318.exe

通过0xf7a49b0ec使用 SHA256 校验051a523e645b40f34e9d80f245b42828410208b575b7502de068e65cba1d02d0 和或GPG 签名进行验证。
运行安装程序。MSYS2 需要 64 位 Windows 8.1 或更新版本。
输入所需的安装文件夹(NTFS 卷上的仅 ASCII 短路径、无重音符号、无空格、无符号链接、无 subst 或网络驱动器、无 FAT)。
MSYS2安装第二屏
完成后,单击完成。
MSYS2安装第三屏
现在 MSYS2 已为您准备就绪, UCRT64 环境的终端将启动。
清空 MSYS2 终端窗口
您可能需要安装一些工具,例如 mingw-w64 GCC 来开始编译:
$ pacman -S mingw-w64-ucrt-x86_64-gcc
resolving dependencies…
looking for conflicting packages…
Packages (15) mingw-w64-ucrt-x86_64-binutils-2.39-2
mingw-w64-ucrt-x86_64-crt-git-10.0.0.r68.g6eb571448-1
mingw-w64-ucrt-x86_64-gcc-libs-12.2.0-1 mingw-w64-ucrt-x86_64-gmp-6.2.1-3
mingw-w64-ucrt-x86_64-headers-git-10.0.0.r68.g6eb571448-1
mingw-w64-ucrt-x86_64-isl-0.25-1 mingw-w64-ucrt-x86_64-libiconv-1.17-1
mingw-w64-ucrt-x86_64-libwinpthread-git-10.0.0.r68.g6eb571448-1
mingw-w64-ucrt-x86_64-mpc-1.2.1-1 mingw-w64-ucrt-x86_64-mpfr-4.1.0.p13-1
mingw-w64-ucrt-x86_64-windows-default-manifest-6.4-4
mingw-w64-ucrt-x86_64-winpthreads-git-10.0.0.r68.g6eb571448-1
mingw-w64-ucrt-x86_64-zlib-1.2.12-1 mingw-w64-ucrt-x86_64-zstd-1.5.2-2
mingw-w64-ucrt-x86_64-gcc-12.2.0-1
Total Installed Size: 397.59 MiB
:: Proceed with installation? [Y/n]
[… downloading and installation continues …]
现在您可以调用gcc来为 Windows 构建软件。
$ gcc --version
gcc.exe (Rev1, Built by MSYS2 project) 12.2.0
安装 MSYS2 后,它将通过 更新自身pacman,请参阅更新指南了解更多信息。
在 msys64 mingw64 终端中输入这两条命令的目的是将 /mingw64/bin 目录添加到系统环境变量 PATH 中,以便在终端中直接运行该目录下的程序。
echo ‘export PATH=/mingw64/bin:PATH′>>/.bashrc:这条命令将字符串′exportPATH=/mingw64/bin:PATH' >> ~/.bashrc: 这条命令将字符串 'export PATH=/mingw64/bin:PATH′>> /.bashrc:这条命令将字符串′exportPATH=/mingw64/bin:PATH’ 追加到当前用户的 ~/.bashrc 文件中。.bashrc 文件是一个特殊的文件,其中包含了在启动 Bash shell 时应该运行的一些设置和命令。在这里,我们添加了一条命令,告诉系统在查找可执行程序时,要将 /mingw64/bin 目录包含在其中。
source ~/.bashrc:
这条命令会立即运行 ~/.bashrc 文件中的所有命令,使我们刚刚做的修改生效。执行 source ~/.bashrc 后,系统会重新读取 .bashrc 文件中的设置,并将 /mingw64/bin 目录添加到环境变量 PATH 中。
通过这两条命令,您就可以在 msys64 mingw64 终端中直接运行 /mingw64/bin 目录下的程序,无需每次都输入完整的路径。这对于编译和开发过程中频繁使用的命令行工具非常有用。

相关文章:
我在windows10下,使用msys64 mingw64终端
系列文章目录 文章目录系列文章目录前言一、MSYS2是什么?前言 msys2官网 MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。 同时它也是一个在Cygwin (POSIX 兼容性层)…...
个人2023FALL CS申请总结(PhD/MPhil/保研夏令营)
个人2023FALL CS申请总结(PhD/MPhil/保研夏令营)写在最前个人BG及申请情况个人BG申请情况MPhilPhD收获一句话总结:心态爆炸没用,脸皮够厚够勇就行 写在最前 真是一场恶战。有几天,我每天早上都海投几封套瓷邮件&…...
【优化算法】使用遗传算法优化MLP神经网络参数(TensorFlow2)
文章目录任务查看当前的准确率情况使用遗传算法进行优化完整代码任务 使用启发式优化算法遗传算法对多层感知机中中间层神经个数进行优化,以提高模型的准确率。 待优化的模型: 基于TensorFlow2实现的Mnist手写数字识别多层感知机MLP # MLP手写数字识别…...
CAM类激活映射 |神经网络可视化 | 热力图
文章目录前言:安装库:分类案例--ResNet50分割案例AttributeError: ‘tuple‘ object has no attribute ‘cpu‘RuntimeError: grad can be implicitly created only for scalar outputsTypeError: cant convert cuda:0 device type tensor to numpy. Use…...
RecyclerView+BaseRecyclerViewAdapterHelper显示不全只显示第一行item的解决问题
RecyclerViewBaseRecyclerViewAdapterHelper显示不全只显示第一行item,我懵了…,我不说多,直接说吧 先看一下适配器代码中的convert()方法: class MineRadioAdapter(layoutResId: Int R.layout.item_my_live) :BaseQuickAdapte…...
解决后端无法对前端的ajax请求重定向
本章目录: 问题描述 AJAX请求后端直接重定向失败解决方案 后端拦截请为响应头添加重定向标志后端拦截器为响应头添加重定向路径前端响应拦截器获取响应头数据,并通过location.href url 完成页面跳转一、问题描述 本来想在拦截器里设置未登录用户访问指…...
【Python】1分钟就能制作精美的框架图?太棒啦
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、准备二、基本使用与例子1.初始化与导出2.节点类型3.集群块4.自定义线的颜色与属性总结前言 Diagrams 是一个基于Python绘制云系统架构的模块,它能…...
淘宝必备的补单技巧及注意事项!
补单,是优化善后的s单。单只是模拟用户的购物习惯,而补单同时还要模拟整个店铺的综合数据,包括点击率、转化率等等,补到略高于同行、竞品的平均数据时,淘宝会判断为买家比较喜欢你的商品,从而给你更多推荐机…...
【实用篇】SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud分布式
文章目录一、服务拆分1.1 服务拆分Demo1.2 微服务远程调用二、Eureka2.1 Eureka原理2.2 Eureka-server服务搭建2.3 eureka-client服务注册2.4 eureka-client服务复制2.5 eureka服务发现三、Ribbon负载均衡3.1 负载均衡原理3.2 负载均衡策略3.3 自定义负载均衡策略3.4 饥饿加载与…...
私人飞机、公务机包机会成为富豪圈的主流出行方式吗?
从炫耀性消费到按需使用,私人飞机的消费群体正在被拓宽,但离“成为主流”还有一段距离。“时间就是金钱”为有钱人消费私人飞机提供合理动机,而这群高净值人群的数量增长则成为撑起市场基本面。据相关数据显示,2018年全球超级富豪…...
Oracle组织架构
组织架构 (一)业务组(BG) (二)法律实体(LE) (三)业务实体(OU) (四)库存组织(INV) …...
最小公倍数
目录 最小公倍数 程序设计 程序分析 最小公倍数 【问题描述】给定两个正整数,计算这两个数的最小公倍数。 【输入形式】输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数. 【输出形式】 对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。…...
二叉树的后序遍历(力扣145)
目录 题目描述: 解法一:递归法 解法二:迭代法 解法三:Morris遍历 二叉树的后序遍历 题目描述: 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root …...
《Effective C++》读书纪实 -- 诸君同享
文章目录《Effective C》是一本经典的C编程指南,共包含50条C编程的最佳实践。 确定你的构造函数的行为 在构造函数中,应该尽可能地避免调用虚函数、非静态成员函数和虚基类的函数。 尽量使用const、enum、inline替换#define 使用const、enum、inline可以…...
【云原生】K8S-ConfigMap 实现应用和配置分离
文章目录前言ConfigMap 背景ConfigMap 创建方式ConfigMap 的使用使用 ConfigMap 的注意事项总结前言 Kubernetes 是目前最流行的容器编排系统之一,它提供了丰富的功能来支持容器化应用程序的管理和部署。 ConfigMap 是 Kubernetes 中重要的资源对象,用…...
java -测距工具(经纬度)
代码 /*** 测距工具* author qb*/ public class DistanceUtils {/*** 赤道半径*/private static final double EARTH_RADIUS 6378.137;private static double rad(double d) {return d * Math.PI / 180.0;}/*** Description : 通过经纬度获取距离(单位:米)* Group…...
postgres分区表的创建-基于继承
参考文档: http://postgres.cn/docs/12/ddl-partitioning.html 创建基于继承的分区表的步骤 1 创建父表 2 创建子表,从父表继承过来 3 创建函数及触发器,使插入的数据根据规则,插入到对应的子表中 -- 创建父表 CREATE TABLE a…...
Docker应用部署
文章目录Docker 应用部署一、部署MySQL二、部署Tomcat三、部署Nginx四、部署RedisDocker 应用部署 一、部署MySQL 搜索mysql镜像 docker search mysql拉取mysql镜像 docker pull mysql:5.6创建容器,设置端口映射、目录映射 # 在/root目录下创建mysql目录用于存…...
使用golang实现日志收集系统的logagent
整体架构 参考 七米老师的日志收集项目 主要用go实现logagent的部分,logagent的作用主要是实时监控日志追加的变化,并将变化发送到kafka中。 之前我们已经实现了 用go连接kafka并向其中发送数据,也实现了使用tail库监控日志追加操作。 我们…...
小红书点赞不显示怎么回事?小红书笔记评论被吞怎么办
小红书作为一个互联网产品,是一个软件。既然是软件就会有一定的程序漏洞,这是无法避免的。但是很多时候其实并不一定是漏洞的问题。今天就来和大家谈谈小红书点赞不显示怎么回事,小红书评论被吞又是怎么一回事,这些难道都是程序性…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
