[msys2+mingw64+ragel安装]
[简介]
这几天部门老大让解析几个东西,要求用ragel编写,在Windows环境下,要运用到mingw64,安装时发现mingw里没有pacman,需要现安装,然后发现Wget也没有。。。,所以改使用msys2。安装过程比较曲折,发生各种问题。也查了一堆资料文档,好在最后都解决了。特在此整理一下,以便记忆。
首先介绍一下这几个东西:msys2是msys升级版,自带pacman,方便许多,通过msys2可以安装mingw32和mingw64。mingw是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。Ragel是个有限状态机编译器,它将基于正则表达式的状态机编译成传统语言(C,C++,D,Java,Ruby等)的解析器。简单说就是Ragel有自己的语法,可以内嵌到C/C++等语言中。它可以解析正则表达式,并且不用调用正则相应的模块,因此效率大大提升,生成的文件扩展名为.rl,可以转成C语言程序。
[安装]
安装的顺序是msys2->mingw64->ragel。
先安装msys2:
[1.MSYS2主页]
http://msys2.github.io/
http://sourceforge.net/projects/msys2/
[2.MSYS2详细安装指南]
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/
[3.安装MSYS2]
首先从MSYS2主页或SourceForge下载MSYS2的安装包:32位系统下载msys2-i686-20160205.exe,64位系统下载msys2-x86_64-20160205.exe。请记住i686对应32位系统,x86_64对应64位系统,以后装软件都是这种对应关系。下面以64位的msys2-i686-20160205.exe示范安装过程:
点击“下一步”
注意上面选择安装位置,路径里不要有任何中文、特殊字符、空格等等,一般装在磁盘根的msys32或msys64目录。注意磁盘剩余空间要有10GB以上剩余空间,哪个分区剩余空间比较大就装哪。设置好安装路径,点击“下一步”
点击“下一步”
等待安装结束
取消立即运行选项的√,并点击“完成”。
添加环境变量 D:\msys64\home\%name%,这个变量非常有用,后面配置要多次用到。
[4.修改软件源]
MSYS2环境的软件和升级都是在线方式的,需要联网下载。所以需要一个可靠的软件源,软件源配置文件在msys64\etc\pacman.d\文件夹里三个:
mirrorlist.mingw32
mirrorlist.mingw64
mirrorlist.msys
用文本编辑器打开这三个文件,并添加如下软件源(我就遇到因为没有修改软件源,导致mingw下载不下来,导致安装了好半天)。默认的源在有些地方速度还可以,教育网内速度一般,可以添加其他镜像提高速度,下面列举了已知的速度还可以源,请大家自己按照现有网速排序,现在有些开源镜像添加了msys2的源,感谢各个开源镜像站点!
编辑安装目录下 \etc\pacman.d\ 文件夹下 mirrorlist.msys 等三个文件,如下所示
mirrorlist.msys
##
##