之前的博文中有不少涉及到win下使用unix环境的一些东西,但都是为了做别的事情,还是写一个专门讲这个主题的文章吧。

主角:Cygwin、mingw-W64、MSYS2。

注:mingw已经停止更新很多年了,不再讨论,mingw-w64是专门替代的。个人最喜欢用MSYS2,因为可以使用pacman包管理器。

一、这些东东有什么用?

都是在windows系统中构建unix环境的一些工具,这样就可以在Windows下使用一些unix上面的软件。

二、这些工具之间的区别与联系是什么?

有两个地方对这个问题探究的很深入我就不赘述了

1、https://www.biaodianfu.com/cygwin-ming-msys.html

2、https://www.zhihu.com/question/22137175

建议好好看,多看几遍。

如果看了上面的回答,那么就很容易理解了,你想在windows下使用gcc、gdb、emacs等等unix原生的东西,就需要在win下安装这几个工具中的一个来实现。

三、怎么安装这些工具?

Cygwin

官网:https://cygwin.com/

之前做Windows XP上装SSH的时候详细介绍过:http://www.cnblogs.com/feipeng8848/p/8555648.html

mingw-W64

官网:http://mingw-w64.org/doku.php

这个连接直接下载压缩包。也可使用在线安装器,但是速度很慢,我就直接下载的压缩包。



得到安装包后解压缩,然后我放置到了 “C:\Program Files\mingw-w64\” 目录下,mingw-w64是手动创建的,然后再添加环境变量



上图中的完整路径是:C:\Program Files\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin

然后再powershell(或者cmd)中输入 “gcc -v” 就能看见gcc版本号了,说明安装成功。

MSYS2

官网:http://www.msys2.org/

官网首页就是安装教程,非常详细就不做介绍了。装完后别忘记配置环境变量以在cmd或者powershell中直接使用。

安装完之后更换源会提高安装软件的速度,详情看:https://www.cnblogs.com/feipeng8848/p/10037962.html

四、应用场景举例

比如使用vscode调试C语言。就要用到gcc、gdb。可以选择使用Cygwin、mingw-w64、MSYS2这三个工具中的任何一个来安装gcc、gdb,然后配置下环境变量就可以用。

mingw-64

安装完mingw-w64(其实就是解压压缩包)bin目录下就有gcc、gdb。

Cygwin

在安装界面中选中gcc、gdb安装,不要忘记选择gcc的依赖,这就有点麻烦,可能多选少选。

MSYS2

先搜索

pacman -Ss gcc



然后找到完整的名字后安装:

pacman -S  mingw-w64-x86_64-gcc

非常喜欢这个pacman命令的方式。

Windows使用(类)Unix环境那些事的更多相关文章

  1. Cygwin 是一个用于 Windows 的类 UNIX shell 环境

    cygwin的安装使用   Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 ...

  2. Cygwin(类UNIX模拟环境)&CURL(强大的http命令行工具)

    前言: 需要我用curl试下能否发送post请求调起公司的仿真系统(目前) 跟着大佬的脚步,亲测一把~ 感谢大佬的提供的博客和指导 @咩神 个人博客园及来源地址 Cygwin(类UNIX模拟环境) 一 ...

  3. MinGW —— Minimalist GNU for Windows、Cygwin —— Windows 下的类 unix 系统

    0. 楔子 Windows 下显然是没有 gcc 编译器的.对于一些软件或者工具如果想要在 Windows 平台下运行,而又需要依赖 gcc 编译其中的一些基于 C/C++ 实现的代码. 此时就借助 ...

  4. 在windows下使用Cygwin模拟unix环境 并安装apt-cyg svn等插件

    在windows下使用Cygwin模拟unix环境,并安装apt-cyg,svn等工具 一.Cygwin的安装 1. 下载Cygwin,这个可以到这里下载 ,至于使用32位的还是64位的版本可以根据自 ...

  5. 在windows下使用Cygwin模拟unix环境,并安装apt-cyg,svn等工具

    在windows下使用Cygwin模拟unix环境,并安装apt-cyg,svn等工具 一.Cygwin的安装 1. 下载Cygwin,这个可以到这里下载 ,至于使用32位的还是64位的版本可以根据自 ...

  6. Unix及类Unix系统文本编辑器的介绍

    概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Em ...

  7. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  8. UNIX环境高级编程笔记之文件I/O

    一.总结 在写之前,先唠几句,<UNIX环境高级编程>,简称APUE,这本书简直是本神书,像我这种小白,基本上每看完一章都是“哇”这种很吃惊的表情.其实大概三年前,那会大三,我就买了这本书 ...

  9. Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字 . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级 ...

随机推荐

  1. 第二章 CSS基本属性

    1.CSS:层叠样式表 一个元素允许同时应用多种样式,页面元素最终的样式即为多种样式的叠加效果. 2.CSS样式优先级 行内样式表>内部样式表>外部样式表[就近原则] id选择器>类 ...

  2. Self hosted OWIN 绑定地址127.0.0.1,外网无法访问

    static void Main()         {             string baseAddress = "http://localhost:4004/";   ...

  3. c# Mongodb批量更新

    public void Put(List<OnlineItem> datas)         {             try             {                ...

  4. ip and port check 正则

    在网页开发中可能会遇到需要对在页面输入的ip和端口进行正确性验证,那么正则表达式就是最有力的工具: 1:ip的正则表达式: 格式是由“.”分割的四部分,每部分的范围是0-255: 每段的正则可以分几部 ...

  5. kettle杂记

    版本8.0,以下是我在使用kettle时候的一些小tips 1.“插入/更新”必须指定字段,“表输出”无需指定字段,但是源表的字段必须包含在目标表中,否则unknown colum! 2.连接数据库时 ...

  6. idea如何整理代码格式

    1.先CRTL + A来选中需要整理的代码块.当然CRTL + A代表选中一个文件的所有代码. 2.然后CRTL + ALT + L,对,就是要记住这个快捷键.

  7. 《大话设计模式》c++实现 抽象工厂模式

    为了更清晰地理解工厂方法模式,需要先引入两个概念: 产品等级结构 :产品等级结构即产品的继承结构,如一个抽象类是电视机,其子类有海尔电视机.海信电视机.TCL电视机,则抽象电视机与具体品牌的电视机之间 ...

  8. 详解tween.js 中文使用指南

    补间(动画)是一个概念,允许你以平滑的方式更改对象的属性.你只需告诉它哪些属性要更改,当补间结束运行时它们应该具有哪些最终值,以及这需要多长时间,补间引擎将负责计算从起始点到结束点的值. 例如,pos ...

  9. 数据分析之Numpy库入门

    1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列 ...

  10. quick-cocos2d-x 游戏开发之一】开发工具sublime text及其强力插件QuickXDev

    http://blog.csdn.net/yihaiyiren/article/details/17220927