学习永无止境!!
分类: Windows平台
2018-08-13 15:01:32
这几天部门老大让解析几个东西,要求用ragel编写,在Windows环境下,要运用到mingw64,安装时发现mingw里没有pacman,需要现安装,然后发现Wget也没有。。。,所以改使用msys2。安装过程比较曲折,发生各种问题。也查了一堆资料文档,好在最后都解决了。特在此整理一下,以便记忆。
首先介绍一下这几个东西:msys2是msys升级版,自带pacman,方便许多,通过msys2可以安装mingw32和mingw64。mingw是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。
首先从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%,这个变量非常有用,后面配置要多次用到。
MSYS2环境的软件和升级都是在线方式的,需要联网下载。所以需要一个可靠的软件源,软件源配置文件在msys64\etc\pacman.d\文件夹里三个:
mirrorlist.mingw32
mirrorlist.mingw64
mirrorlist.msys
用文本编辑器打开这三个文件,并添加如下软件源(我就遇到因为没有修改软件源,导致mingw下载不下来,导致安装了好半天)。默认的源在有些地方速度还可以,教育网内速度一般,可以添加其他镜像提高速度,下面列举了已知的速度还可以源,请大家自己按照现有网速排序,现在有些开源镜像添加了msys2的源,感谢各个开源镜像站点!
编辑安装目录下 \etc\pacman.d\ 文件夹下 mirrorlist.msys 等三个文件,如下所示
mirrorlist.msys
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:// ## Primary Server = ftp://148.251.42.38/MINGW/x86_64 ## Sourceforge.net Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
[5.msys2系统更新]
接下来打开开始菜单里的MSYS2 Shell开始进行MSYS2系统更新:
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文件。
4.升级其他包,在上面的命令框里输入
pacman -Su
可能会出现如下图所示的问题,Ctrl+C,重新输入命令:pacman -Su,直到能够正常更新所有软件。
5.安装成功后,msys64目录下会出现mingw32.exe,mingw64.exe和msys2.exe。