Win7 64位中MinGW和MSYS的安装

Win7 64位中MinGW和MSYS的安装


背景:

A.  由于需要在Win7 64位系统下使用Visual Studio,并调用OpenBlas库,所以需要gcc在windows下编译该库。

B.  MinGW集成了众多的编译器,因此想通过安装MinGW来使用gcc。同时,需要通过MSYS使用与编译相关的命令行。因此,需要同时安装MinGW和        MSYS。

C.  通常,网上能找到的MinGW安装包中(http://www.mingw.org)都已经附带了MSYS组件,且提供了GUI界面,因此安装较为容易,可参考本人博文    (Windows 中OpenBlas 的安装 - Windows 32bit 适用 )。然而,针对MinGW,这些安装包中的编译器往往只适用于Win32,        而不适用于Win64。

D.  因此,若要在Win7 64位中使用MinGW,就需要特别安装 MinGW-w64。

E.  MinGW和MSYS是两个可独立使用的组件。MinGW对操作系统敏感。


安装:

安装前请先务必卸载其他版本的MinGW。

1. 首先安装MinGW-w64。

========== 安装方法 A ==========

下载地址:http://sourceforge.net/projects/mingw-w64/?source=recommended

而后启动该 .exe文件,开始安装。安装开始时,需要注意设置为如下图所示。安装目录设为 C:\MinGW,这个目录是MinGW推荐的。由于是在线下载、安装,所以耗时大概为30分钟。

           

安装完成后,需要将路径 C:\MinGW\mingw64\bin 添加到PATH环境变量中。此时启动cmd窗口,输入 gcc -v,则可以查看到gcc编译器的版本信息。

备注:

A.  不同于以往的MinGW安装包,该MinGW-w64只包含了MinGW编译器本身,而不包含MSYS等组件,因此在后续并不会弹出Windows 中OpenBlas 的安装 - Windows 32bit 适用 中所示的组件选择安装界面。MinGW-w64只是单纯的编译器安装包,这也是为什么本文中需要单独安装MSYS的原因。

B.   由于后续MSYS可能调用make命令,而MinGW系列只提供了名字为 mingw32-make.exe 的执行文件(C:\MinGW\mingw64\bin 路径下),事实上,该.exe 和make.exe 功能一样,为了make执行时能找到该文件,建议复制 mingw32-make.exe 一份,并将复制文件命名为'make.exe'。


========== 安装方法 B ==========

方法A需要在线下载、安装,因此对网络有要求(我第二次用A方法安装MinGW遇到的问题就是:可以浏览网页并下载mingw-w64-install.exe,但后续的在线安装就出问题: Cannot download repository.txt [0],具体原因没有找到,只怪学校的网络管得太...)。通过如下链接:

http://sourceforge.net/p/mingw-w64/mailman/message/32967954/

直接下载合适配置的、已编译的MinGW64文件库,放到C:\MinGW目录下,并同方法A一样进行后续处理。具体下载哪个版本,可以参考方法A中的setting,或者结合自己的需求。


2. 安装 MSYS。

下载地址: http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/  

在该下载页面中,应该下载的是下图中README.txt下面的压缩包文件,而非‘Download mingw-builds-install.exe’。

           

下载后,解压缩,可看到文件内有msys文件夹,将msys文件夹整体移动到路径 C:\MinGW 下。在msys文件夹内,会看到 msys.bat 文件,双击则启动MSYS,在MSYS中则可使用UNIX下的命令行,如make。

备注:

A.  在MSYS中,可用 'where make' 来查看可供调用的 make.exe 位置。


我的一个小疑惑,如前面所写,MinGW内存在make.exe,而MSYS内也存在make.exe(C:\MinGW\msys\bin),那么当在MSYS内输入make命令时,调用的到底是那个make.exe? 希望路过的知道答案的能指点一下。



猜你喜欢

转载自blog.csdn.net/yangyangyang20092010/article/details/46350519