好吧,这是今天写的第二篇文章。我表示这篇才是今天的重头。(伪
半年之前曾经写过一篇关于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
我以前只用Cygwin,今天安装MingW,发觉他们真的很喜欢这种在线安装方式。安装时错误一大堆,还好有你的离线包。
多谢!
大佬,你的压缩包还设置了密码。能够给我密码么?谢了先。
http://www.swingworks.org 原文中有说。
找到你的密码了。是我一目十行,漏了。
我以前安装过的WinARM和WinAVR编译环境中都有自己的交叉编译GCC和UNIX工具集。现在安装了MingW,可以去掉一些重复的了工具了。
谢谢。
离线包确实给力!
您好!我按照上面步骤安装完成了!可我不会用,能简单说明一下如何编译一个文件吗?我需要编译 linphone-3.3.99.7.tar.gz
您好!我最近开始学习MinGW相关内容!现在需要编译一个linphone-3.3.99.7.tar.gz,按照上述方法安装成功后,我在百度上寻找到的编译方法都行不通;能简单介绍一下如何编译吗,谢谢!邮箱:yanhexiong198774@sohu.com
查了一下linphone需要的库很多,而且牵涉到arm的交叉编译,你可能需要查阅更多的资料,
对于一般开源软件的源代码通常是先./make clean,然后./configure,然后./make,然后可能需要./make install
你需要搞清每一步的错误信息看看自己缺少哪些库,然后跑mingw的sourceforge或者使用mingw-get来安装这些库,
我的文章里面提供的只是最基本的库而已。
您好!我的是xp系统,按上文安装完成后,按照 http://www.linuxidc.com/Linux/2010-10/29198.htm 上说的来编译linphone,但是,总提示 checking for intltool >= 0.40… ./configure: line 6110: intltool-update: command not found
found
configure: error: Your intltool is too old. You need intltool 0.40 or later.
我不知道该如何安装新版本的intltool,我已下载到0.90版本的
试试使用./mingw-get install intltool来更新intltool试试,如果不行再试试下载mingw sourceforge上的intltool包放在文章里所说的缓存目录试试。如果还是提示版本太旧可能是兼容性原因,我这边现在没有环境,暂时无能为力了。。
我实在windows下出现了相同的问题求解
还是没闹出来!不过谢谢了啊!
我直接下载了楼主的自动安装包,然后安装,但不知道这个Mingw+msys环境是否能编译VLC
需要查看一下VLC的官方文档看一下需要哪些库。VLC有Win版本的,最好下载相应平台上的源码来使用。MinGW的使用范围确实很有限。
[…] C:/MinGW/var/lib/mingw-get/data/mingw32-gettext.xml 这位大牛的研究成果很值得借鉴: http://www.swingworks.net/2010/11/install_mingw_and_msys_with_mingw-get-inst/ 不过,没有设置path路径, […]
使用你的教程安装上了MSYS+MinGW,并且编译了最新的ffmpeg。但是我想编译wince版本的ffmpeg,而MinGW自动安装的是mingw32版本的编译组件,非mingw32ce版本,请问我应该怎样设置?
您可以到mingw的sourceforge上下载相应的组件包放置到msys或mingw目录下,具体参见这篇文章中的一小部分 http://www.swingworks.net/2010/03/mingw_msys_config/ 。由于牵涉到交叉编译的相关知识,可能需要搜索一下相关的资料。
??要怎么打开设置环境变量的窗口呢
对“我的电脑”或者“计算机”点右键属性,Win7点“高级系统设置”然后点“高级”选项卡,XP可直接在“高级”选项卡中看到。
谢谢鱼。。
很给力,我把这个东东安到了D盘下,编译的时候报错,看代码无错!感谢
今天才看到,安装界面改了,我原来改动了安装目录,问题一堆,现在打算重新安装一次,不知如何。
博主,建议更新一下百度网盘上的软件包~
你好,请问我之前改动了安装目录,现在想要卸载,是直接删除文件夹就可以了吗?
这东西不怎么改注册表。如果控制面板里面的卸载按钮已经被更新到了新位置,就别管了。然后到环境变量的PATH里面看下有没有残留路径即可。
[…] 2:MingW 在线安装被墙,这里用的离线安装。参考http://www.swingworks.net/2010/11/install_mingw_and_msys_with_mingw-get-inst/ 来进行安装。 当时我先使用cygwin进行编译。 cygwin […]