好吧,这是今天写的第二篇文章。我表示这篇才是今天的重头。(伪

半年之前曾经写过一篇关于MinGW和MSYS的手动安装的文章[1],到现在还是全站点击率最高的。(目前这篇文章是最高的。)好吧,侧面反映了MinGW确实是Win上比较难装的软件之一。GNU的东西就是这点最令人不爽,好好的软件弄个自动安装包就这么难么。。好吧,似乎他们听见了我们的抱怨,终于推出了新版的自动安装包!![2]

关于MinGW和MSYS的介绍请看之前我写的那篇文章:

http://www.swingworks.net/2010/03/mingw_msys_config/

【2012-05-02 更新】
开始安装之前,强烈建议你先阅读这部分的内容——如果你的网络条件不好(连sourceforge的速度很差),或者你想大幅加速你的安装过程并减少错误发生,这部分内容会很有用。否则如果你想体验原汁原味的安装过程,请跳过此段。

国内网络访问sourceforge的速度通常是非常慢的,要命的是MinGW没有提供离线完整包下载,而自动包的安装的过程中不会一一重试,于是
各种下载龟速甚至有ERROR发生。好在MinGW的安装路径留有一个cache目录,里面存放有所有下载下来的组件包且不会删除(即使卸载也会保留,如
果需要可以删掉来节省空间)。那样的话可以直接将所有需要的组件包先放入cache目录然后运行安装包就行了,方便快捷。

cache目录的位置在:
C:\MinGW\var\cache\mingw-get\packages
你可能需要先建立它的所有父目录再放入所有的组件包。

【2012-05-02更新】所有组件包的网盘下载(包含MinGW安装包):

http://pan.baidu.com/share/link?shareid=5378&uk=117832911
http://dl.dbank.com/c06qouk24k
解压密码是www.swingworks.net

如果已经安装了MinGW但有组件下载失败,也可以按上述操作然后重新运行安装包。

安装步骤:

1. 下载自动安装包,我个人下载的是最新的mingw-get-inst-20101030.exe,以下均以此为例。

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/

2. 双击安装。Vista/Win7用户请右键用管理员身份安装。注意:请尽量装在默认的 C:\MinGW 下。不要问我为什么,这可以解决很多莫名其妙的错误。官网上的原话是[3]:

The recommended installation directory is C:\MinGW.
Unless you are very sure you know what you are doing, you should not
change this; in particular: never install MinGW into any directory which
includes spaces in its absolute path name.


点Next


选择第一项可以大幅减少接下来的下载量。如果你已经下载了我提供的完整包,请选择第一项


选“同意”


上面说过了,这里强烈建议不要改动


选择程序菜单的位置,默认即可


除了最后一项MSYS System Builder建议都勾上。
(2011-06-21注:新版的安装包已经去除了这一选项)


点Install开始安装


这一步开始下载所需要的组件压缩包。(2012-05-02更新:)如果出现ERROR,请在完成后勾选”Display mingw-get log”查看log文件,然后逐一用mingw-get install或mingw-get upgrade命令修复。要快速修复所有下载失败的包,请看本文的开头灰色段落。


完成

3. 设置环境变量。在Path变量的末尾加一项 C:\MinGW\bin 。设置成功后可以在Win自带的cmd窗口执行许多非bash only程序,比如gcc,比如mingw-get。

4. 启动MSYS Shell。注:默认的home目录在 C:\MinGW\msys\1.0\home 或 C:\MinGW\msys\1.0\home\用户名 下

注意,如果在第2步下载MSYS失败会造成shell无法启动,此时建议先在第3步的基础上打开cmd窗口输入:
>mingw-get install automake
如此可以重新安装 MSYS 并同时安装好 autoconf 和 automake 工具。

5. MSYS和cmd窗口都应该可以正常运行GNU命令了。


PS: 在Win7的任务栏上创建图标

MinGW在Win7的任务栏上并不能通过普通的右键固定来放置图标(真不知道这帮人怎么设计的程序)。如果你希望在Win7的任务栏上放一个MSYS的图标可以这样做:

先打开MSYS,在任务栏上右键固定:

关闭MSYS,对图标点击右键,右击”sh”点属性:

在“快捷方式”选项卡中将“目标”改成 C:\MinGW\msys\1.0\msys.bat:

如果需要修改图标,可以点击“更改图标…”,选择 C:\MinGW\msys\1.0\msys.ico。重启explorer看到刷新。

[1] MinGW 和 MSYS 的手动安装与环境配置. 摆动工坊. http://www.swingworks.net/2010/03/mingw_msys_config/
[2] MinGW – Minimalist GNU for Windows. sourceforge. http://sourceforge.net/projects/mingw/
[3] HOWTO Install the MinGW (GCC) Compiler Suite. MinGW.org. http://www.mingw.org/wiki/InstallationHOWTOforMinGW

MinGW和MSYS的自动安装 【转】的更多相关文章

  1. MinGW和MSYS项目是在一起的(翻译官网)

    翻译MinGW官网的首页,首页描述了MinGW和MSYS的基本情况. Home of the MinGW and MSYS Projects(我才知道,MinGW和MSYS项目是在一起的 -_-!) ...

  2. 下载更新文件后,调用安装器自动安装apk文件

    在更新操作时,下载新apk之后,往往需要自动安装新apk,用以下代码即可安装下载在本地的apk文件(apkFile) Intent intent = new Intent(); intent.setA ...

  3. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  4. 转来的emacs配置文件,自动安装插件

    网上转来的emacs配置文件,便于自动安装插件,收藏起来 http://www.gogae.org/post-7/ EMACS是一个伪装成代码编辑器的操作系统. EMACS是一个非常强大的代码编辑器, ...

  5. linux系统PXE+Kickstart自动安装系统

    一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

  6. 实用脚本----Linux下Jdk和Tomcat自动安装shell脚本总结

    系统环境为:ubuntu 14.04 一.JDK 自动安装脚本 jdk自动安装bash shell脚本,截止今天(2014/10/15)亲测可用: sudo su #切换到root权限 mkdir / ...

  7. eclipse 手动/自动安装插件

    只要你的Eclipse的压缩包,一般为xxx.zip,其内部包含了对应的features和plugins文件夹,(不管是否还有content.jar和artifacts.jar)则都可以: 要么手动解 ...

  8. [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe

    写在前面 原文地址:C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章躺在我的收藏夹中有很长一段时间了,今天闲着没事,就自己动手实践了一下.感觉 ...

  9. 使用Inno Setup 打包.NET程序,并自动安装.Net Framework

    使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...

随机推荐

  1. 纯css3实现的超炫checkbox复选框和radio单选框

    之前为大家分享了好多css3实现的按钮.今天要为大家分享的是纯css3实现的checkbox复选框和radio单选框,效果超级炫.先让我们看看图吧! 在线预览   源码下载 这个实例完全由css3实现 ...

  2. 【WPF/C#】联网异步获取二进制文件(如图片)的流程

    步骤: 联网异步获取Json数据. 使用Json.NET工具,反序列化Json为对应的实体类,获得该实体类的对象. 从对象身上获取图片路径(实体类中定义了头像图片是string类型的文件路径). 根据 ...

  3. yum命令与使用

    check          Check for problems in the rpmdbcheck-update   Check for available package updatesclea ...

  4. Linux GPIO控制方法

    Linux GPIO控制方法 kernel version 4.4.12 在文件系统层: 1. 进入 /sys/class/gpio/ 目录 2. 假设你想控制的GPIO0_29,步骤如下: 1. e ...

  5. 查询一个字符串的子串出现的次数在sql中

    select name,char_length(name)-char_length(replace(name,'aaaaaa','')) from teacher; 将原来的字符串字段取出长度  将子 ...

  6. Spring下获取项目根路径--good

    Spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能.比如某些第三方工具支持通过 ${ ...

  7. jquery json解析详解

    我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. JSON数据如下,是一个嵌套JSON: 1 {"comments":[ ...

  8. Java 二维码--转载

    周末试用下Android手机的二维码扫描软件,扫描了下火车票.名片等等,觉得非常不错很有意思的.当然Java也可以实现这些,现在就分享下如何简单用Java实现二维码中QRCode的编码和解码(可以手机 ...

  9. IE屏蔽鼠标右键、禁止复制粘贴等功能

    <body oncontextmenu="return false" onselectstart="return false" ondragstart=& ...

  10. jvm虚拟机原理1

    JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理.冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操 ...