zoukankan      html  css  js  c++  java
  • msys2安装总结

    以前一直使用本地gcc for windows unix for windows的软件,这些软件都是已经编译好的,可以直接在Windows下运行的,而且如果在环境变量中添加了,就可以在cmd中直接使用,和linux下差不多,但还是有点区别

    网上偶然看到了

    msys2的这个软件包,就去了解了。

    区别如下:

    这个是https://blog.zengrong.net/post/cygwin_and_mingw/网站上面摘录的,可见我们太长使用的mingw,其实仅仅是仿真linux环境中的一种方式,而且是比较古老的方式了,目前来看,msys2更新比较多,因此就尝试了。

    特点CygwinMinGW/MSYSMSYS2
    是否GNU
    更多软件支持? 支持绝大多数的 GNU 软件 支持常用软件,git、Vim等软件需要独立支持(详细介绍见下方) 支持大多数 GNU 软件
    更类Linux? Cygwin在Windows中就好像Wine在Linux中 实现了Bash等主要的Linux程序 原生64/32bit支持
    GCC编译 内含MingGW32交叉编译功能,既支持依赖cygwin1.dll的程序编译,也支持独立的Windows程序编译;可以直接编译Linux下的应用程序 支持独立的Windows程序编译 支持独立的Windows程序编译
    中文支持 直接支持中文显示和输入法 需要配置才能支持中文显示和输入,删除一个中文字符需要删除2次 支持中文显示和输入法,中文帮助系统和中文提示(部分软件)
    运行速度

    百度百科上面解释:

    MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在Cygwin (POSIX 兼容性层) 和 MinGW-w64(从"MinGW-生成")基础上产生的,追求更好的互操作性的 Windows 软件。

    MSYS2是什么

    编辑
    MSYS2 [1]  是MSYS的一个升级版,准确的说是集成了pacmanMingw-w64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 工具链。与MSYS最大的区别是移植了 Arch Linux的软件包管理系统 Pacman(其实是与Cygwin的区别)。

    特点

    编辑
    • 安装方便
    • 自带 pacman 管理,可以使用 pkgtool 来 makepkg
    • 较快的源速度(可以修改源地址)
    • 自带软件和库较全而且比较新
    • 使用mingw-w64工具链,可以编译32位或64位代码(需要自行安装)
    • 中文支持好,可以直接输入和浏览中文目录

    可以看出,msys2还移植了arch的软件管理包,pacman,这个就是不同的linux发行本,不同的软件管理包一样,Ubuntu系列是apt,还有更加新的,具体忘记了,rethat是yum等。使用方式大同小异。

    如果不愿意使用 Cygwin 或者 MinGW 这种 ”重型“ 的 port,又喜欢 unix 下的工具链,那么可以尝试一下下面几个原生移植工具集:

    以前我还使用了上面的几个软件,上面几个是软件,和上面三个大平台是有区别的。

    Cygwin 与 MinGW/MSYS/MSYS2 实际上就是在windows下仿真了一个linux平台

    很多文件目录的结构都差不多

     总结

    (https://blog.zengrong.net/post/msys_mingw_and_cygwin_gcc/)

    MinGW是windows版本的gcc集合,不需要依赖中间层。

    MSYS是小型的linux的环境的模拟,可以与MinGW结合来模拟linux环境下使用MinGW的gcc。

    Cygwin是功能强大的linux环境,由于有cygwin1.dll实现了底层的windows api到linux api的转化。所以在Cygwin里开发就相当于在linux上开发,对于开发人员来说就相当于调用linux类型的api,所以这样开发的程序也可以直接移植到linux上。但是如果这样的程序要在windows上执行的话,运行时必须要cygwin1.dll支持。

    根据以上的分析,如果在windows开发linux跨平台的程序,linux模拟器Cygwin以及所包含的gcc是很好的选择,但是开发的程序必须依赖一个cygwin1.dll。如果你只是想在windows下使用gcc编译器也不想依赖其他的dll,mingw是很好的一个选择。

    另外:https://www.cnblogs.com/tshua/p/5932501.html

     MSYS2,由于 MinGW 万年不更新,MSYS 更是,Cygwin的许多新功能 MSYS 没有同步过来,于是 Alex 等人建立了新一代的 MSYS 项目。仍然是 fork 了 Cygwin(较新版),但有个更优秀的包管理器 pacman,有活跃的开发者跟用户组,有大量预编译的软件包(虽然肯定没有Cygwin多)……对于不喜欢庞大的 Cygwin 的用户而言,推荐试试 msys2。

    区别(小结):Cygwin是模拟 POSIX 系统,源码移植 Linux 应用到 Windows 下;MinGW 是用于开发 Windows 应用的开发环境。
    联系:均提供了部分 Linux 下的应用,多跑在 Windows 上;MinGW 作为 Cygwin 下的软件包,可以在 Cygwin 上运行。

     
  • 相关阅读:
    Mysql数学函数不求人数据库专栏,MySQL
    下班以后就不要开电脑了,
    在ubuntu下用eclipsecdt调试memcached C language ITeye论坛
    mperham/sidekiq
    Reference C++ Reference
    请问一下哪有机械键盘的实体店可以体验一下? 外设 Chiphell 分享与交流用户体验的最佳平台 Powered by Discuz!
    Linux的cron和crontab iTech 博客园
    MIUI官方论坛 发烧友必刷的Android ROM
    机器学习视频
    crossover 海客谈, 季小军, 义乌人
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12275878.html
Copyright © 2011-2022 走看看