如何安装Minimal SYStem(MSYS)

简介: 如何安装Minimal SYStem(MSYS) 以上步骤基本上没有啥技术含量(一点都没有噢,只为记录一下,图片也漂亮点),注意到最后这个黑色的命令行,在安装结束之后会出现这么个命令行,其中会问你是否已经安装过MinGW了?在回答y之后,要求输入MinGW的地址,注意,在资源管理器里面我们都是用“\”来代表路径层级的分层的,在这里是用“/”(方向不一样)。

如何安装Minimal SYStem(MSYS)

image

image

image

image

image

image

image

image

image

image

以上步骤基本上没有啥技术含量(一点都没有噢,只为记录一下,图片也漂亮点),注意到最后这个黑色的命令行,在安装结束之后会出现这么个命令行,其中会问你是否已经安装过MinGW了?在回答y之后,要求输入MinGW的地址,注意,在资源管理器里面我们都是用“\”来代表路径层级的分层的,在这里是用“/”(方向不一样)。另外地址中不允许带有空格。这一点在《如何安装MinGW》一文中已经有提到。

image 

MSYS (Minimal GNU(POSIX)system on Windows)

由于本文的主角是它,我们先来看看它是什么?从名字的全称我们可以看出它是一个小型的GNU环境。MSYS在windows下模拟了一个类unix的终端,它只提供了MinGW的用户载入环境,Cygwin在windows下模拟了一个linux环境,它们带有一些unix终端下常用的工具,如ls、tail、tar,其实它们都是相应unix/linux工具的windows版,而且它们的环境会继承windows的一些系统变量,如path,如果windows下装有ruby、rails,在它们的环境里同样都可以直接运行。

Cygwin(基于GPL licensed协议)

Cygwin并不是GNU,它只是实现了许多Windows API中没有的Unix风格的调用(如fork,spawn,signals,select,sockets等),并将它们封装在Cygwin.dll中,让Windows系统能够模拟出Unix的调用,进而直接使用Unix上的交叉编译器来生成可以在windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。

MinGW(Minimalist GNU For Windows)

主要由GNU binary utilities、GCC和GDB组成。同时还包括一些必要的库,例如libc(C Runtime),及专门用于Win32环境的API接口库。如果你想学习linux环境下的编程,而又不想装linux,那你就装一个MinGW吧。

它与Cygwin实现了相同的梦想,也是为了实现在Windows上能够运行Unix上的工具。但与之不同的是它采用的是Windows C类库(mscvrt)而不是Cygwin采用的GNU C运行时类库。同时也因为两个运行时类库的端口不同而导致两者有诸多区别。但是却因为采用了直接支持Windows环境的Windows C运行时类库,它也给CDT(C/C++ Development Toolkit)提供了最好的支持。同时,它避免了像Cygwin使用了GPL协议。

C/C++ Development Toolkit(CDT)

C/C++ Development Toolkit(CDT)是基于Eclipse特征的,为使用C/C++编程语言,提供创建、编辑、导航、生成(build)和调试项目的一个集合。
它不包含必要的转换C/C++代码的编译器和调试器来执行和调试程序,但是它提供了一个允许这些工具集成在一个相容方式下协作的框架。它允许你根据你的项目需求来混合和匹配这些工具。
通常,商业发行的CDT包括了必要的工具集。如果你没有,那么最基本的CDT提供了综合的GNU工具来生成和调试。他们通常指Cygwin和MinGW等。

做了三个简单的概念介绍后,我们知道了它们各自的一些特征。它们都不是像Visual Studio这样可以拿来直接就用的软件,它们的使用需要一些必要的配置。这也是社区文化的一种体现。

以上的安装步骤最后一步出现的命令行模式,确实是大部分安装程序中不常出现的,那么它究竟为我们做了什么呢?带着这样的疑问,我们滚动到这副截图来看看它的内容。从内容中我们可以看到在安装完毕之后我们会被要求输入MinGW的所在目录,根据文档中的说明,我们可以将MinGW放在除了MSYS目录的任何的一个目录中(也就是如图D:\GNU\MSYS位置不能放),至于放了之后会怎样,笔者也不知晓,望知晓者可以告知在下,定当感激不尽。

之后它会根据我们给出的路径在MSYS目录下的etc文件夹(如本例中的D:\GNU\MSYS\1.0\etc)内找到fstab文件并进行编辑(会在稍后描述)。然后检查我们给出的路径下的一些文件。从图中我们可以看到我们缺少了一个非常重要的make.exe文件,这个文件其实存在,只是文件名不同,我们可以将其重命名为make.exe。(本例中,我们将已经安装的D:\GNU\MinGW\bin\mingw32-make.exe修改为D:\GNU\MinGW\bin\make.exe即可)

fstab文件

与fstab相同路径下的有个fstab.sample文件,这是一个示例文件。您可以仿造它进行一些设置。(如果您按照之前我们的安装步骤,并且中途没有出现偏差的话,那么通常您已经正确设置了fstab文件,如果因为其它原因您需要修改该文件,也可以参考该部分内容。)fstab文件将是dll初始化期间唯一被载入的文件。它的格式我们可以看到,是由一个物理路径+“空格/TAB制表格”+Mount_Point来维持的。它实现了一个路径映射的体系结构,以至于我们不必手动地搬动那些文件到正确的目录,也能够让我们正确地访问我们所需的文件。

下图为fstab.sample文件

fstab.sample

下面我们打开fstab看看系统之前为我们设置了什么:

fstab

从本例子中我们发现了系统为我们做好了这样一个映射。将D:/gnu/mingw映射到了/mingw。

MSYS只是一个模拟的平台,我们除了让它跟MinGW实现互联互通,我们也能够让它跟系统上的其他程序互联互通。

通过运行D:\GNU\MSYS\1.0\msys.bat批处理文件,我们可以打开如上图所示的命令行窗口(它的功能基本上类似于运行了D:\GNU\MSYS\1.0\bin\sh --login -i语句)

sh

执行的内容相当于运行了下面的批处理语句。

image 

下面让我们打开一个word程序。我们在命令行下输入:

start '/d/Program\ Files/Microsoft\ Office/Office12/WINWORD' $@

语句(具体路径视您本机的word安装程序路径所定)

我本机的路径为

D:\Program Files\Microsoft Office\Office12\WINWORD.EXE

我们很容易看出它们二者之间的区别。下面我就针对这些区别做一些简要的解释。

首先我们看“D”是一个盘符,在这个映射里面,我们规定,盘符若为“D:\”我们就将其转化为“/d”,同时为了与Unix的使用习惯一致,在资源管理器中表示层次的“\”符号都变成了“/”,若遇到空格,我们则以“\ ”(\+空格)来表示。因此我们有了如上一个等价的路径转换。

image

复制粘帖

说到使用这样的命令行方式大家一定觉得还不是那么方便。因为这里不能够复制粘贴。但你错了,这里复制粘贴也很容易。

复制:选择你要复制的部分,然后鼠标点一下,就可以了。容易吧?

粘帖:只需用shift+鼠标左键,就可以直接将剪贴板内的文字粘帖进来了。

(更多办法请参考doc/msys/readme.rtf)

目录
相关文章
|
5月前
|
Ubuntu
ubuntu报错:OpenSSL is not properly installed on your system.
ubuntu报错:OpenSSL is not properly installed on your system.
100 0
|
5月前
mac zsh: command not found: pip解决方法
mac zsh: command not found: pip解决方法
221 0
编译OpenJDK8:Your cygwin is too old. You are running but at least cygwin 1.7 is required
编译OpenJDK8:Your cygwin is too old. You are running but at least cygwin 1.7 is required
72 0
|
虚拟化 Docker Windows
成功解决VirtualBox is not installed. Please re-run the Toolbox Installer and try again.
成功解决VirtualBox is not installed. Please re-run the Toolbox Installer and try again.
成功解决VirtualBox is not installed. Please re-run the Toolbox Installer and try again.
|
数据处理 Docker Windows
成功解决Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run.
成功解决Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run.
成功解决Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run.
|
Linux Docker Windows
Windows 10 启动 Docker Desktop 时出现 WSL 2 installation is incomplete
Windows 10 启动 Docker Desktop 时出现 WSL 2 installation is incomplete
180 0
Windows 10 启动 Docker Desktop 时出现 WSL 2 installation is incomplete
|
Java 开发工具
mac Big Sur系统 mvn打包报错:No compiler is provided in this environment. Perhaps you are running on a JRE
mac Big Sur系统 mvn打包报错:No compiler is provided in this environment. Perhaps you are running on a JRE
1310 0
mac Big Sur系统 mvn打包报错:No compiler is provided in this environment. Perhaps you are running on a JRE
|
Ubuntu 关系型数据库 MySQL
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04
In this tutorial, we will explore how to install Docker on Alibaba Cloud and learn some important Docker commands to help you deploy and manage your container services.
3004 0
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04