msys2+mingw64+ragel安装

[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示范安装过程:

msys2+mingw64+ragel安装_第1张图片

点击“下一步”

msys2+mingw64+ragel安装_第2张图片

注意上面选择安装位置,路径里不要有任何中文、特殊字符、空格等等,一般装在磁盘根的msys32或msys64目录。注意磁盘剩余空间要有10GB以上剩余空间,哪个分区剩余空间比较大就装哪。设置好安装路径,点击“下一步”

msys2+mingw64+ragel安装_第3张图片

点击“下一步”

msys2+mingw64+ragel安装_第4张图片

等待安装结束

msys2+mingw64+ragel安装_第5张图片

取消立即运行选项的√,并点击“完成”。
添加环境变量 D:\msys64\home\%name%,这个变量非常有用,后面配置要多次用到。

[4.修改软件源]

MSYS2环境的软件和升级都是在线方式的,需要联网下载。所以需要一个可靠的软件源,软件源配置文件在msys64\etc\pacman.d\文件夹里三个:
mirrorlist.mingw32
mirrorlist.mingw64
mirrorlist.msys

msys2+mingw64+ragel安装_第6张图片

用文本编辑器打开这三个文件,并添加如下软件源(我就遇到因为没有修改软件源,导致mingw下载不下来,导致安装了好半天)。默认的源在有些地方速度还可以,教育网内速度一般,可以添加其他镜像提高速度,下面列举了已知的速度还可以源,请大家自己按照现有网速排序,现在有些开源镜像添加了msys2的源,感谢各个开源镜像站点!

编辑安装目录下 \etc\pacman.d\ 文件夹下 mirrorlist.msys 等三个文件,如下所示

mirrorlist.msys

##
## MSYS2 repository mirrorlist
## Changed on 2014-11-15
##
##中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MSYS2/$arch
##北京理工大学镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
##日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
##The UK Mirror Service Sourceforge mirror
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
## Primary
Server = ftp://148.251.42.38/MSYS2/$arch
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch

mirrorlist.mingw64

##
## 64-bit Mingw-w64 repository mirrorlist
## Changed on 2014-11-15
##
##中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/x86_64
##北京理工大学镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
##日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
##The UK Mirror Service Sourceforge mirror
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
## Primary
Server = ftp://148.251.42.38/MINGW/x86_64
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64

mirrorlist.mingw32

##
## 32-bit Mingw-w64 repository mirrorlist
## Changed on 2014-11-15
##
##中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/REPOS/MINGW/i686
##北京理工大学镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
##日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
##The UK Mirror Service Sourceforge mirror
Server = http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
## Primary
Server = ftp://148.251.42.38/MINGW/i686
## Sourceforge.net
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686

[5.msys2系统更新]

接下来打开开始菜单里的MSYS2 Shell开始进行MSYS2系统更新:

msys2+mingw64+ragel安装_第7张图片

1.更新本地包数据

pacman -Sy

2.升级核心包

pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl

3.关闭所有 MSYS2 shell,然后运行 msys64\autorebase.bat,运行后发现msys64\msys2_shell.bat文件,msys64\mingw32_shell.bat文件和msys64\mingw64_shell.bat文件均不见了,别急,打开msys64\msys2_shell.cmd文件。

msys2+mingw64+ragel安装_第8张图片

4.升级其他包,在上面的命令框里输入

pacman -Su

可能会出现如下图所示的问题,Ctrl+C,重新输入命令:pacman -Su,直到能够正常更新所有软件。

msys2+mingw64+ragel安装_第9张图片

5.安装成功后,msys64目录下会出现mingw32.exe,mingw64.exe和msys2.exe,如下图:

msys2+mingw64+ragel安装_第10张图片

6.(选做)设置快捷方式,这里以64位为例。打开开始菜单,找到MinGW-w64 Win64 Shell快捷方式所在目录,选择MinGW-w64 Win64 Shell,右键属性,把目标改成D:\msys64\msys2_shell.cmd -mingw64,如下图:

msys2+mingw64+ragel安装_第11张图片

(这个修改是我同事告诉的,说是会解决以后可能遇到的某些问题。32位的修改同64位)

[6.MinGW64位安装+gcc安装]

1.安装gcc

pacman -S gcc

2.(选做)安装其它环境
另外可根据需要安装你想要的软件环境。

pacman -S base-devel git mercurial cvs wget p7zip perl ruby python2

说明pacman -S是安装软件包的意思,base-devel是基本开发工具和库,git mercurial cvs 三个是版本控制软件,可用于下载和发布项目源代码,wget是下载工具,p7zip是解压缩工具,perl ruby python2三个是脚本编程环境。

3.安装MinGW64位
对于32位系统,执行:

pacman -S  mingw-w64-i686-toolchain 

对于64位系统,执行:

pacman -S  mingw-w64-x86_64-toolchain

注:32位系统只能编译运行32位程序,64位系统既可以编译运行64位程序,也可以编译运行32位程序。如果希望在64位系统同时编译32位和64位系统,可以把上面两个工具链都安装。一般情况下只需要一个。如果出现下载错误,就重复执行刚才的命令,直到成功为止。

4.添加环境变量:D:\msys64\mingw64\bin;

5.安装完成后输入

gcc -v

结果如下图:

msys2+mingw64+ragel安装_第12张图片

[7.Ragel安装]

输入命令查看现有Ragel版本

pacman -Ss ragel

msys2+mingw64+ragel安装_第13张图片

安装64位输入命令:

pacman -S mingw64/mingw-w64-x86_64-ragel

安装32位输入命令:

pacman -S mingw32/mingw-w64-i686-ragel

[8.Ragel拓展]

Ragel官网简介
http://www.colm.net/open-source/ragel/
Ragel官方文档
http://www.colm.net/files/ragel/ragel-guide-6.9.pdf
Ragle学习笔记
http://wenku.baidu.com/link?url=nBqtGdI5OTDiwyVmAnT2VufoxYzkxiTiqp0OZzgFvgT18FiZLT3D2YcFTlw7nGuJ37nZbSgRJUkq9RXINXQRL5gAQxplTTqj81ur4k3T1fG

[9.本文参考网址链接]

http://www.tuicool.com/articles/zmeQfu
http://blog.csdn.net/liyuanbhu/article/details/39397931
http://www.cnblogs.com/shengansong/archive/2011/11/19/2255129.html
http://www.rswiki.org/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/msys2?rev=1416044574
http://wenku.baidu.com/link?url=nND7_rK__kXN80cGTCA8t4JYmMFytcM3lQj20nWxgV33rEfXT0r6g97vYHbzLp9VQ4M404mYaePwIXeOsD4YNLm2yOFcZJCYcBlFYnjaovG

你可能感兴趣的:(msys2+mingw64+ragel安装)