msys2安装
最近在研究编译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安装的更多相关文章
- MSYS2 安装和配置
MSYS2 安装和配置 msys2 和 cygwin 类似,提供了一个类 Linux 的 shell 环境和工具链,同时还使用了 arch linux 的 pacman 管理软件包,比 cygwin ...
- win使用MSYS2安装Qt开发环境
原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...
- msys2 安装注意事项
它一直在使用 msys.有一个最近发现 msys2.而且msys2 配套的编译器是MinGW-w64. 就试着用了用,感觉还不错,这里把安装过程记录一下. 简单的说,MSYS2 是MSYS的一个升级版 ...
- MSys2安装QT5
1. MSYS2 shell # pacman –Syuu 2. Reopen MSYS2 # pacman –Syuu 3.添加国内源 msys64\etc\pacman.d 目录下有三个文件 1. ...
- msys2 安装笔记(可以按照这个关键字搜索)
以前一直在用 msys,最近发现还有个 msys2,并且msys2 配套的编译器是MinGW-w64. 就试着用了用,感觉还不错,这里把安装过程记录一下. 简单的说,MSYS2 是MSYS的一个升级版 ...
- msys2安装开发工具
pacman -Syupacman -Supacman -S base-develpacman -S mingw-w64-x86_64-toolchain
- Msys2的安装,并整合到cmder中
下载:msys2-x86_64-20161025.exe 下载安装包,然后装上. 打开msys的shell之后首先升级一下pacman,然后就可以愉快地Syu了. $ pacman -Sy pacma ...
- MSYS2与mingw32和mingw64的安装
由于编译OpenBLAS接触到MSYS2. 下载MSYS:https://mirror.tuna.tsinghua.edu.cn/help/msys2/ 安装,并按照下面的配置,然后可以安装mingw ...
- windows安装msys2 mingw64
msys2包含mingw32和mingw64 步骤1 首选安装msys64 链接:https://pan.baidu.com/s/1l9Zfm4TE1Gg3c7tkaH6KeQ 安装到指定目录 步骤2 ...
随机推荐
- 基于 Token 的身份验证方法
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录.大概的流程是这样的: 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Toke ...
- Python开发【第十章】:I/O多路复用、异步I/O(综合篇)
近期心得:国庆节放假再加上近期工作太忙,已经有半个月没更新博客了,程序更别说了,也没怎么去写,自己给自己着实放了个大假.谈谈感受的话,没有python的日子,每天看书.看电影.各种玩,还有爸妈伺候着, ...
- Mysql如何向存在外键的数据表中插入数据
1.创建表 CREATE TABLE `trn_comment_msg` ( `comMsgId` ) NOT NULL AUTO_INCREMENT COMMENT '评论消息主键', `msgId ...
- SQL中exists和in比较
in 和exists in是把外表和内表作hash 连接,而exists 是对外表作loop 循环,每次loop 循环再对内表进行查询. 一直以来认为exists 比in 效率高的说法是不准确的.如果 ...
- 浅析MySQL中exists与in的使用
exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条记录, ...
- HTML的<object>标签 (转)
object标签用于定义一个嵌入的对象,包括:图像.音频.Java applets.ActiveX.PDF以及Flash.该标签允许您规定插入HTML文档中的对象的数据和参数,以及可用来显示和操作数据 ...
- java 关键字 assert的学习
之前在学习java源码时,发现了assert这个不常用的关键字.下面直接来介绍下这个关键字的使用. assert是什么? 它是jdk1.4之后新增加的关键字,没了. assert的作用是什么? ass ...
- qt qml qchart 图表组件
qt qml qchart 图表组件 * Author: Julien Wintz * Created: Thu Feb 13 23:41:59 2014 (+0100) 这玩意是从chart.js迁 ...
- 理解innodb buffer pool
今天组里有个同事说可以查看innodb buffer pool每个表和索引占的大小,为此我搜了下,还真有方法,记录下. innodb buffer pool有几个目的: 缓存数据--众所周知,这个占了 ...
- USB驱动开发大全【转】
本文转载自:http://www.360doc.com/content/12/0504/19/8363527_208666082.shtml 编写USB驱动程序步骤:1所有usb驱动都必须创建主要结构 ...