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

关于MinGW和MSYS的介绍请看之前我写的那篇文章:
开始安装之前,强烈建议你先阅读这部分的内容——如果你的网络条件不好(连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的自动安装 【转】的更多相关文章
- MinGW和MSYS项目是在一起的(翻译官网)
翻译MinGW官网的首页,首页描述了MinGW和MSYS的基本情况. Home of the MinGW and MSYS Projects(我才知道,MinGW和MSYS项目是在一起的 -_-!) ...
- 下载更新文件后,调用安装器自动安装apk文件
在更新操作时,下载新apk之后,往往需要自动安装新apk,用以下代码即可安装下载在本地的apk文件(apkFile) Intent intent = new Intent(); intent.setA ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- 转来的emacs配置文件,自动安装插件
网上转来的emacs配置文件,便于自动安装插件,收藏起来 http://www.gogae.org/post-7/ EMACS是一个伪装成代码编辑器的操作系统. EMACS是一个非常强大的代码编辑器, ...
- linux系统PXE+Kickstart自动安装系统
一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
- 实用脚本----Linux下Jdk和Tomcat自动安装shell脚本总结
系统环境为:ubuntu 14.04 一.JDK 自动安装脚本 jdk自动安装bash shell脚本,截止今天(2014/10/15)亲测可用: sudo su #切换到root权限 mkdir / ...
- eclipse 手动/自动安装插件
只要你的Eclipse的压缩包,一般为xxx.zip,其内部包含了对应的features和plugins文件夹,(不管是否还有content.jar和artifacts.jar)则都可以: 要么手动解 ...
- [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
写在前面 原文地址:C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章躺在我的收藏夹中有很长一段时间了,今天闲着没事,就自己动手实践了一下.感觉 ...
- 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...
随机推荐
- axel命令 文件下载
axel是Linux下一个不错的HTTP/ftp高速下载工具.支持多线程下载.断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件.适合网速不给力时多线程下载提高下载速度.比如在国内VP ...
- 【JavaFx】客户端服务器C/S架构搭建
客户端获取服务器端软件更新版本方法: package com.platform.ui.update; import java.io.BufferedInputStream; import java.i ...
- CodeIgniter在nginx下404 not found
server { listen ; server_name test.platform; charset utf8; root /data/www/platform/trunk; location / ...
- 【C#/WPF】用System.Timers.Timer计时器做浮窗广告
需求:鼠标静止一段时间后,显示浮窗广告. 思路:界面XAML写好一个专门显示浮窗广告的Canvas,先设为不可见Visibility=”Collapsed”,然后用System.Timers.Time ...
- 窗口过程 Wndproc
操作系统向应用程序发送一系列消息,如左键按下和左键抬起,应用程序将通过GetMessage等方法 Wndproc应用例子最终将消息提交到窗口过程(WndProc)指向一个应用程序定义的窗口过程的指针. ...
- pthread_setschedparam
#include <stdlib.h> #include <pthread.h> #include <stdio.h> #include <sched.h&g ...
- Java获取web项目路径
File f = new File(WebPath.class.getResource("/").getPath()); String path = f.getParentFile ...
- lua 的io操作,非常详细
Lua 标准库 - 输入输出处理(input and output facilities) I/O库提供两种不同的方式进行文件处理 1.io表调用方式:使用io表,io.open将返回指定文件的描述, ...
- 纯CSS实现圆角、可拖动的一个DIV模块层
<style>body{ margin:0px; padding:0px; font-size:14px;}#t { position:absolute; float:left; left ...
- jQuery的发展史,你知道吗?
2006年1月,jQuery的第一个版本面世,至今已经有6年多了(注:这个时间点是截止至出书时间).虽然过了这么久,但它依然以其简洁.灵活的编程风格让人一见倾心.在本篇文章中,我们将讲述jQuery的 ...