系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、MSYS2 是什么?

前言

Mingw 仅支持 32-bit 程序,现在一般用 Mingw-w64,既支持 32 也支持 64-bit
Mingw-W64 官网。
一个教程。
MSYS2 是一个 windows 上的 bash shell 调用 MinGW-W64 以及 CygWin。
双击 mingw64.exe 即可打开 mingw 命令行。mingw64.exe 所在的目录就是命令行的根目录。
可以检查 g++ 的版本。
用 g++ 编译程序以后,会出现 a.exe 而不是 a.out。这个执行文件是可以双击执行的,但是运行完会马上退出。可以在程序最后用 getchar()。也可以打开一个 cmd 命令行然后运行 a.exe。当然在 mingw64 的命令行也可以执行。另外执行时 .exe 拓展名可以省略。
不能使用 apt,一切库都要自己手动编译。或者用 MinGW instellation 安装 32-bit 版本。
c 盘的目录为 /c
如果创建 symlink 会直接复制而不是真的 link
MinGW instellation manager 是一个 GUI 界面可以下载安装编译好的 mingw32 程序。例如安装 mingw32-make,安装以后就和 make 的用法一样。
g++ 中定义的宏有 GNUCMINGW32MINGW64
编译动态链接库的方法和 linux 中一样,同样支持用 ldd 查看动态程序的库依赖(dll 和 so 拓展名都会搜索到,但建议用 dll,让其他 windows 程序也可以使用)。

一、MSYS2 是什么?

官网,msys 和 WSL,cygwin 等的对比
MSYS 让 linux 开发者可以开发在 Windows 上运行的软件。WSL 制作的软件不能不安装 WSL 直接在 Windows 上运行。
MSYS2 使用 Pacman 进行包管理,和 Arch linux 一样。
所有可用的包在这里查找。名字一般和 apt 命令中的不一样。
根目录在 C:\msys64\,和 mingw 一样可以用 /c 访问 C 盘。
用 g++ 编译时,宏 MSYS 有定义,而 MINGW32MINGW64 没定义。
pacman -S base-devel

MSYS2 不是“一个可以统领一切的工具”,而是试图专注于它擅长的领域。它提供了一个基于开源软件的本地构建环境,让您在已经熟悉 Linux 的情况下感到宾至如归。在 Windows 上为不同的任务使用多种不同的环境和工具是有充分理由的。

MSYS2 与其他项目
如果您想查看更多比较或觉得它们可以改进,请告诉我们。

MSYS2 与 WSL
MSYS2 允许您构建本机 Windows 程序,而使用 WSL您只能交叉编译它们,这使事情变得更加复杂。如果您只是在寻找 Linux CLI 工具,或者想要构建最终在 Linux 服务器上运行的软件,那么 WSL 是更好的选择。

MSYS2 vs Chocolatey
Chocolatey主要捆绑已经构建的(开源和闭源)软件,并使安装/更新它们变得容易。另一方面,在 MSYS2 中,所有包都是从源代码构建的,您可以轻松地在您的机器上重现这些构建。Chocolatey 包的优点是捆绑安装程序通常具有更好的 Windows 集成,因为它们设置了文件关联、快捷方式等,并且因为它们不是从源代码构建的,所以还有很多用于闭源软件(如 Visual Studio 等)的包。否则很难管理/更新。

MSYS2 与 Cygwin
MSYS2 中的 unixy 工具直接基于Cygwin,因此存在一些重叠。Cygwin 专注于按原样在 Windows 上构建 Unix 软件,而 MSYS2 专注于构建针对 Windows API 构建的本机软件。

MSYS2 与 Arch Linux
MSYS2 和Arch Linux共享包管理器及其附带的所有内容,例如构建定义、打包规则、更新工作方式、包签名方式、包运输方式、滚动发布性质等。通过重用这些功能和概念,我们可以专注于实际的软件包,并从 Arch Linux 开发人员的经验和工作中获益。已经熟悉 Arch Linux 的用户也将更容易上手。

MSYS2 Mingw Cygwin对比相关推荐

  1. Windows系统下多版本GCC的安装: MinGW Cygwin Msys2 和 VS: MSVC

    文章目录 MinGW 的下载和安装 Cygwin 的下载和安装 Babun的下载和安装 Msys2 的下载和安装 VS MSVC 的下载和安装 MinGW 只包括gcc和g++,不支持离线安装. Mi ...

  2. MinGW/cygwin 快速开始

    文章目录 一.什么是 MinGW ? 1. 安装 MinGW-w64 二.什么是cygwin 1. Cygwin安装 1.1 安装过程 1.2 验证安装是否成功 1.3 Clion配置使用cygwin ...

  3. minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】

    这几天在整C++的跨平台交叉编译问题,总算告一段落,把具体涉及的内容整理如下: 首先,三个的官方网站分别是: minGW:http://www.mingw.org cygwin:  http://ww ...

  4. MinGW CygWin、mingw64-gcc cygwin-gcc区别

    MinGW 与 CygWin 都能让你在 windows 下编译 unix 风格的 C/C++ 代码. MinGW 与 CygWin 的区别 小标题是参考网址(( Back to Windows Wi ...

  5. wxWidgets安装-Windows MSYS2(Mingw)

    wxWidgets安装-Windows MSYS2(Mingw) 环境准备 下载.解压并编译源代码 验证安装成功 尽管在Windows平台下Visual Studio编译工具是使用人数最多的编译工具链 ...

  6. MinGW Cygwin

    mingw是一个minimalist GNU for windows,他实现上使用了cygwin的部分二进制代码,以构造一个最小系统来使用GCC和G++等. cygwin是一个旨在windows下模拟 ...

  7. 关于GCC Cygwin MinGW MSYS

    [转载]关于Gcc/MinGW/Cygwin/Msys http://blog.sciencenet.cn/blog-778757-616920.html 一.GCC的历史 GCC是一个原本用于Uni ...

  8. 一个比cygwin更爽的东西:msys2

    msys2下载 msys2官网,直接在官网下载相应版本即可,安装完成启动之后大概这个样子 msys2 不过默认的终端实在不咋好看,也不好用,所以推荐使用conemu conemu安装与配置 conem ...

  9. 基于window+Clion的CMake、MinGW与Cygwin配置指南

    1. 背景介绍 Clion是捷克公司JetBrains出品的JB全家桶之中主要面向C.C++的集成开发环境.以前主要是基于Linux做软件无线电的开发.最近需要经常上网写文档,Linux实在不方便,想 ...

最新文章

  1. LeetCode 1024. 视频拼接
  2. 从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第五讲 WPF中 Style
  3. 稀疏自编码器符号一览表
  4. java技术学习内容_Java开发主要都学些什么内容?
  5. js 字符串插入_Vue.js 条件与循环
  6. sql select 抛异常_mysql数据库及sql注入
  7. Python——装饰器的学习笔记
  8. CSS 设置背景颜色透明,文字不透明
  9. shell 日期格式化输出
  10. 如何最快速的找到页面某一元素所绑定的点击事件,并查看js代码
  11. 不要浪费时间去写所谓的完美代码
  12. 十分钟搞清字符集和字符编码
  13. window微信双开
  14. 计算机管理器找不到打印机驱动,电脑提示“无法找到打印机驱动程序包要求的核心驱动”解决方法...
  15. 顶刊TPAMI 2021!南开大学提出深度霍夫变换:语义线检测新方法
  16. Scratch案例——切西瓜
  17. python之pil的使用
  18. LittleFS:一个完整的嵌入式文件系统介绍、移植使用教程
  19. SpringBoot基础的依赖说明
  20. 取中文拼音首字母,提供了多音字的选择 js javascript c# java(转)

热门文章

  1. WinDbg手动修复堆栈
  2. 中国人为什么喜欢创业?
  3. 启动kafka2.8报afka.common.KafkaException: No `meta.properties` found in /tmp/kraft-combined-logs
  4. 计算机硬盘里没有内容却显示有,为什么电脑磁盘里头明明没有东西,也没隐藏文件,却显示用了12个G。求解!...
  5. Error: recoverUnfinalizedSegments failed for required journal
  6. 这么多年你还在怕正则吗?
  7. C语言实现定积分的计算
  8. linux密码安全加固技术-CKEY动态密码技术【顶】
  9. 如何用HTML和css实现简单的手风琴菜单效果,附带详细注释
  10. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)