最近在研究编译linux下的软件到windows环境中。

发现了一个比cygwin更好玩的东西,那就是msys2

其实之前也在试玩mingw和mingw64,2016-08-12,当时的最新版本,mingw是自带了msys的1.0的,但mingw64就啥都没带了

然后玩得也不是很顺畅,编译起来也有很多问题出现,而且没法解决,直到发现了msys2

软件主页:https://sourceforge.net/projects/msys2/

安装过程比较简单,exe,双击安装即可

安装完后,会发现,根目录下有三个相应的启动文件

mingw32_shell.bat、mingw64_shell.bat、msys2_shell.bat

该不同的命令不同处仅设置了一个变量set MSYSTEM=*

在/etc/profile 文件中,我们可以看到,不同的值,会优先设置不同的path作为相关程序的调用

mingw32_shell.bat、mingw64_shell.bat分别会增加引用(或者说优先引用)/mingw32、/mingw64下的bin目录

默认已经安装了不少东西,我们增加编译环境

pacman -S tar

pacman -S gcc

pacman -S make

真的是非常方便。

可是好像并没有看到ming32和64的不同,也没有发现相关的目录,从命令中,可以发现,相关的软件包分别对应不同的版本

$ pacman -Sl |grep gcc
mingw32 mingw-w64-i686-gcc 5.3.0-1
mingw32 mingw-w64-i686-gcc-ada 5.3.0-1
mingw32 mingw-w64-i686-gcc-fortran 5.3.0-1
mingw32 mingw-w64-i686-gcc-libgfortran 5.3.0-1
mingw32 mingw-w64-i686-gcc-libs 5.3.0-1
mingw32 mingw-w64-i686-gcc-objc 5.3.0-1
mingw64 mingw-w64-x86_64-gcc 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-ada 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-fortran 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-libgfortran 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-libs 5.3.0-1
mingw64 mingw-w64-x86_64-gcc-objc 5.3.0-1
msys gcc 4.9.2-6 [已安装]
msys gcc-fortran 4.9.2-6
msys gcc-libs 4.9.2-6 [已安装]
msys mingw-w64-cross-gcc 4.9.2-3

尝试安装其中一个

$ pacman -S mingw-w64-x86_64-gcc
正在解决依赖关系...
正在查找软件包冲突...

软件包 (15) mingw-w64-x86_64-binutils-2.25.1-1 mingw-w64-x86_64-bzip2-1.0.6-4
mingw-w64-x86_64-crt-git-5.0.0.4609.566d621-1 mingw-w64-x86_64-gcc-libs-5.3.0-1
mingw-w64-x86_64-gmp-6.1.0-1 mingw-w64-x86_64-headers-git-5.0.0.4609.566d621-1
mingw-w64-x86_64-isl-0.15-1 mingw-w64-x86_64-libiconv-1.14-5
mingw-w64-x86_64-libwinpthread-git-5.0.0.4573.628fdbf-1
mingw-w64-x86_64-mpc-1.0.3-2 mingw-w64-x86_64-mpfr-3.1.3.p0-2
mingw-w64-x86_64-windows-default-manifest-6.4-2
mingw-w64-x86_64-winpthreads-git-5.0.0.4573.628fdbf-1
mingw-w64-x86_64-zlib-1.2.8-9 mingw-w64-x86_64-gcc-5.3.0-1

下载大小: 47.34 MiB
全部安装大小: 334.66 MiB

:: 进行安装吗? [Y/n] y

安装完成,发现它自动安装在了/mingw64目录下

这时双击mingw32_shell.bat等bat,就会优先引用相对的bin

不过想在这上面直接编译linux的程序,还是异想天开的,毕竟平台不同,源码中引用的库文件差别还是很大的。

软件安装和yum差不多,命令是

pacman -S <需要安装的软件名>

pacman -R <需要删除的软件名>

pacman -Q <可查看已安装的所有软件列表>

直接使用msys2_shell.bat来启动系统,它就和cygwin差不多,

也是依赖于一个3M多的转换库msys-2.0.dll,但多了像yum的镜像,更像是一个完整的linux环境。

在这上面安装编译软件,和cygwin几乎一样,错误也几乎一样,所以参考我以前的文章即可。

msys2安装的更多相关文章

  1. MSYS2 安装和配置

    MSYS2 安装和配置 msys2 和 cygwin 类似,提供了一个类 Linux 的 shell 环境和工具链,同时还使用了 arch linux 的 pacman 管理软件包,比 cygwin ...

  2. win使用MSYS2安装Qt开发环境

    原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...

  3. msys2 安装注意事项

    它一直在使用 msys.有一个最近发现 msys2.而且msys2 配套的编译器是MinGW-w64. 就试着用了用,感觉还不错,这里把安装过程记录一下. 简单的说,MSYS2 是MSYS的一个升级版 ...

  4. MSys2安装QT5

    1. MSYS2 shell # pacman –Syuu 2. Reopen MSYS2 # pacman –Syuu 3.添加国内源 msys64\etc\pacman.d 目录下有三个文件 1. ...

  5. msys2 安装笔记(可以按照这个关键字搜索)

    以前一直在用 msys,最近发现还有个 msys2,并且msys2 配套的编译器是MinGW-w64. 就试着用了用,感觉还不错,这里把安装过程记录一下. 简单的说,MSYS2 是MSYS的一个升级版 ...

  6. msys2安装开发工具

    pacman -Syupacman -Supacman -S base-develpacman -S mingw-w64-x86_64-toolchain

  7. Msys2的安装,并整合到cmder中

    下载:msys2-x86_64-20161025.exe 下载安装包,然后装上. 打开msys的shell之后首先升级一下pacman,然后就可以愉快地Syu了. $ pacman -Sy pacma ...

  8. MSYS2与mingw32和mingw64的安装

    由于编译OpenBLAS接触到MSYS2. 下载MSYS:https://mirror.tuna.tsinghua.edu.cn/help/msys2/ 安装,并按照下面的配置,然后可以安装mingw ...

  9. windows安装msys2 mingw64

    msys2包含mingw32和mingw64 步骤1 首选安装msys64 链接:https://pan.baidu.com/s/1l9Zfm4TE1Gg3c7tkaH6KeQ 安装到指定目录 步骤2 ...

随机推荐

  1. OC中的字典

    // ********************不可变最字典***************** /* NSDictionary * dic = [NSDictionary dictionaryWithO ...

  2. [转]搬瓦工换机房换ip之后不能连外网

    搬瓦工换机房换ip之后不能连外网 时间 2015-07-21 15:17:16  Wendal随笔 原文  http://wendal.net/2015/07/21.html 主题 iptables ...

  3. spark shell

    启动spark-shell客户端 启动集群模式 本机为master节点 export MASTER=spark://`hostname`:7077bin/spark-shell 或者 bin/spar ...

  4. (地址)Spring Data Solr

    http://docs.spring.io/spring-data/solr/docs/1.3.0.RELEASE/reference/html/

  5. html页面定位

    对于css中的position:relative;我始终搞不明白它是什么意思,有什么作用? 对于position的其它几个属性,我都搞懂了 引用 static : 无特殊定位,对象遵循HTML定位规则 ...

  6. mongodb群集

    项目目标:故障自动切换和自动修复成员节点,各个数据库之间数据完全一致.项目描述:副本集没有固定主节点,是整个集群选举得出的一个主节点,当其不工作时变    更其他节点.最小的副本集也应该具备一个pri ...

  7. Android 广播 BroadcastReceiver

    Android 系统里定义了各种各样的广播,如电池的使用状态,电话的接收和短信的接收,开机启动都会产生一个广播.当然用户也可以自定义自己的广播. 既然说到广播,那么必定有一个广播发送者,以及广播接收器 ...

  8. 。。。欢乐捕鱼App WeX5 连接打包代理服务失败,请检查代理服务地址是否正确。。。

    今天学习了WeX5,第一次使用,使用它打包一个Web App 欢乐捕鱼的时候,在最终打包生成Native App的时候突然报错了,说:"连接打包代理服务失败,请检查代理服务地址是否正确&qu ...

  9. Android驱动开发前的准备

    最近看了一些Android驱动开发前需要知道的资料,收获很多,接下来就谈谈我自己的一些心得体会. Android在近几年时间发展迅速,已经成为智能手机操作系统的老大.不过,因为Android原生的代码 ...

  10. CSS盒子模型元素实际宽度的计算

    一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容.然而 IE 5 和 6 的呈现却是不正确的.根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 ...