`
zealotds
  • 浏览: 122372 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Windows下的新玩具 MSYS

阅读更多
mingw msys

如果想要利用高效的UNIX环境又无法脱离Windows环境,或者只是想接触学习UNIX,不喜欢弱智的CMD,欢迎使用MSYS!另外一点我用过之后才发现的强大之处在于:在MSYS环境中你可以调用所有的Windows应用程序!因为这个环境里的程序本身也都是Windows程序。

这里记录一下自己的环境搭建过程,仅作备忘只用.

安装

MinGW主页有很多有用的信息可以挖
但其实安装文件都在这里: sourceforge.net
GUI安装程序在这里

推荐大家使用GUI Installer。这个Installer其实就是一些repository(发布源)的定义和mingw-get命令(下边讲到)的壳。安装过程会问你使用Use pre-packaged repository catalogs(使用预定义的发布源)或者Download latest repository catalogs(下载并使用最新的发布源信息)。后边安装的选项有:
  • MinGW Compiler Suite (MinGW编译器工具包,Windows下的CPP开发组建包)
  • MSYS Basic System (MSYS基本系统,一般使用这个就够了)
  • MSYS Developer Toolkit (MSYS开发工具包)

安装完成后调用c:/mingw/msys/1.0/msys.bat就可以启动MSYS环境了

安装vim (可选)

具体的安装方法可以参考下边的mingw-get命令。这里想强调一下可以通过把vim插件放在~/.vim文件夹里方便转移你原来的vim配置环境。当然还有~/.vimrc。对应vim的Windows版本文件夹里的vimfiles文件夹和_vimrc。
推荐几个vim插件,具体是什么自己去搜吧:
  • NERD_tree.vim
  • a.vim
  • acp.vim
  • bufexplorer.vim
  • c.vim
  • minibufexpl.vim
  • rails.vim
  • snipMate.vim
  • taglist.vim
  • winfileexplorer.vim
  • winmanager.vim
  • wintagexplorer.vim

安装mintty或rxvt (推荐)
为什么要用mintty或rxvt(终端模拟器)?因为MSYS环境貌似跑在cmd里边,还把鼠标功能禁用了,只能粘贴,不能拷贝,不能shift+insert,不能换字体...

个人强烈推荐mintty!先使用mingw-get安装mintty再创建如下快捷方式:C:\MinGW\msys\1.0\bin\mintty.exe bin/bash -l
mingw-get install msys-mintty-bin
mingw-get install msys-rxvt-bin
# mingw-get -help 可以看到它有update, install, upgrade, remove几个
# 子命令,还有具体的包名格式,以上边为例:msys为子系统名(mingw32/msys)
# rxvt为工具名,bin为可省略的组件名(bin/doc/src)


配置

# 1. 配置文件系统,推荐使用UNIX编辑,因为这个文件的换行符必须是UNIX格式的LF
vim /etc/fstab
# make sure to use 'LF line endings.
# create a folder for the mount point to utilize auto complete
# may need to restart system to reinitialize msys DLL
# 更多内容请参考/etc/fstab.sample,说的很清楚了
# 另外需要注意的是重新安装会覆盖你的设置!

# 2. 配置基本环境
vim ~/.profile
# 和~/.vimrc道理一样,这个文件是对/etc/profile的自定义版本
# 推荐在这里做一些环境变量设置:
# alias ll="ls -l"    给”ls -l“ 起个别名”ll“
# export JAVA_HOME="/c/Program Files (x86)/Java/jdk1.6.0_25"   Java环境变量
# export PATH=$PATH:/c/Python27:$JAVA_HOME/bin
# 注意上边的PATH分隔符是冒号而不是Windows下的分号!
# bash readline init:
# /etc/inputrc.default does not affect your system
cp /etc/inputrc.default ~/.inputrc


初始化info

info文件路径:
mingw: /mingw/share/info
msys:  /share/info
# Steps:
# in each info path above:
for f in ./*.info; do install-info $f dir; done
# [optional] add the info path above to INFOPATH



搭建编译环境 (一般不需要)

需要更新时使用mingw-get更新即可,一般不需要自己编译程序。但是如果你想要通过重新编译增加程序的功能可以参考下边的介绍。要注意的是这里指用来编译连接MSYS环境专用程序的环境,不是MinGW的Windows开发环境。
详细请参考HOWTO_Create_an_MSYS_Build_Environment

1. 安装MSYS专用GCC,必须要用MSYS的GCC (gcc -version会显示 “MSYS special”字样)
mingw-get install msys-gcc-bin
# 可以通过which gcc 看到你当前环境的gcc是mingw的还是msys的

2. 启动MSYS环境:
msys.bat MSYS
rem 注意这里是从run窗口,或者Command Prompt中启动
rem MSYS的编译环境需要指明MSYSTEM环境变量为MSYS
rem 这需要通过msys.bat的参数制定
rem 因为msys.bat的默认启动方式是MINGW32

3. 下载你想自己编译的包,如msys-bash-src,展开后只需按说明文档执行脚本即可
4. 值得一提的是如果你在MINGW环境中使用Vim(实际是为MSYS环境编译的)因为它调用的GCC是MINGW版本,所以消息中会包含Windows路径,如D:\my_src,这样的路径vim是无法识别的。此时VIM会告诉你文件无法找到,VIM还会自己新建一个buffer,形如“File included from d:/my_src/..”。目前还没找到好的方法。但如果只是写测试代码,又不想受这个错误消息干扰,还是使用MSYS环境编译吧。

推荐工具列表

工具都可以通过mingw-get获取,全部的工具都可以在这里找到
  • wget:网页,FTP下载工具
  • dos2unix: 转换Windows, UNIX EOL
  • rsync: 远程同步工具
  • mktemp: 安全创建临时文件在/tmp下,使用全局唯一的文件名



后记
另有国人维护的一个MSYS-CN项目
分享到:
评论
4 楼 DearGrandpa 2012-07-06  
sarrow 写道
您好,我在使用msys-mingw的时候,遇到了一个疑问,麻烦你帮忙解答一下。

就是这个mingw-get,这个程序啊,他是如何把下载到到安装包,解压到特定目录的?有没
有什么参数,可以控制它的行为?比方我想让他把程序安装到特定的目录下?
...

路径在下面的文件里,
MSYS\mingw\var\lib\mingw-get\data\defaults.xml
你可以复制一份命名成 profile.xml 之后,修改 profile.xml 中的路径即可
    <sysroot subsystem="MSYS" path="%R/../../msys/" />
3 楼 zealotds 2012-05-22  
你好!
我没有用过msys-cn,但我刚刚看了一下它们的网站。它们使用“mpkg”的工具管理包,你可以尝试使用这个工具管理你的工具包,使用实例在网站主页上就有。

我不是很清楚你的需求——为什么要在msys-cn里使用mingw-get?因为是不同的发行版本,虽然同根但仍可能存在兼容性问题(库依赖),这可能为你以后的使用带来隐患。
2 楼 sarrow 2011-12-03  
晕掉,缩进没了;重新贴一次。
----------------------------------------------------------------------

您好,我在使用msys-mingw的时候,遇到了一个疑问,麻烦你帮忙解答一下。

就是这个mingw-get,这个程序啊,他是如何把下载到到安装包,解压到特定目录的?有没
有什么参数,可以控制它的行为?比方我想让他把程序安装到特定的目录下?

起因是这样的;最开始,我用的是msys-cn;它的目录结构是:

\MSYS\msys.bat
|-etc\
|-extra\
`-mingw\

msys-cn,是以msys为主导,mingw编译器组件,都在msys目录下。

而,msys-mingw默认的目录结构,是这样:

\MinGW
`-msys\1.0\msys.bat

msys,成了mingw的一个组件。

如果要工作在msys环境下,显然 ,msys-cn的模式比较方便一点。

于是,我就手动修改了msys-mingw的目录树结构(比如msys\MinGW的形式。),让mingw处
于msys的下层;同时,修改了etc/profile文件,让msys仍然能正确找到mingw工具。

但是,问题来了;当我使用mingw-get,下载其余的工具包的时候,它竟然不管我的修改,
仍然往,\MinGW\msys\1.0\下面放……;结果,目录树就成了:

\msys\MinGW\msys\1.0\...

这让我很郁闷。
1 楼 sarrow 2011-12-03  
您好,我在使用msys-mingw的时候,遇到了一个疑问,麻烦你帮忙解答一下。

就是这个mingw-get,这个程序啊,他是如何把下载到到安装包,解压到特定目录的?有没
有什么参数,可以控制它的行为?比方我想让他把程序安装到特定的目录下?

起因是这样的;最开始,我用的是msys-cn;它的目录结构是:

\MSYS\msys.bat
\etc\
\extra\
\mingw\

msys-cn,是以msys为主导,mingw编译器组件,都在msys目录下。

而,msys-mingw默认的目录结构,是这样:

\MinGW
\msys\1.0\msys.bat

msys,成了mingw的一个组件。

如果要工作在msys环境下,显然 ,msys-cn的模式比较方便一点。

于是,我就手动修改了msys-mingw的目录树结构(比如msys\MinGW的形式。),让mingw处
于msys的下层;同时,修改了etc/profile文件,让msys仍然能正确找到mingw工具。

但是,问题来了;当我使用mingw-get,下载其余的工具包的时候,它竟然不管我的修改,
仍然往,\MinGW\msys\1.0\下面放……;结果,目录树就成了:

\msys\MinGW\msys\1.0\...

这让我很郁闷。

相关推荐

    Windows下MinGW +MSYS +GTK+GLADE+Eclipse 环境搭建

    ### Windows下MinGW + MSYS + GTK + GLADE + Eclipse 环境搭建详解 #### 一、选择此IDE环境的理由 在选择开发环境时,考虑的因素很多,其中包括成本、可移植性、效率等。本篇文章详细介绍了一种适用于Windows系统...

    windows下msys2或git-bash终端主题配置文件

    windows下msys2或git-bash终端主题配置文件。 1. msys2环境,请将配置文件放在它的$HOME路径下,举例:C:\msys64\home\username\ 2. git-bash环境,请将配置文件放在windows系统的用户目录下,举例:C:\Users\...

    msys-2.0.dll

    在MSYS中,Bash使得开发者可以在Windows环境下体验到类似Unix的命令行交互。 修复此问题的方法通常包括以下步骤: 1. **重新下载和安装**:首先,你可以尝试重新下载完整的MSYS安装包,确保所有必需的组件,包括...

    windows搭建gcc开发环境(msys2)

    ### Windows下使用MSYS2搭建GCC开发环境 #### 前言 对于Windows开发者来说,能够在本地环境中模拟出接近Linux的开发体验是非常重要的。MSYS2不仅提供了这种体验,而且还集成了诸如Mingw这样的工具,让Windows用户...

    Windows平台下Vlc的编译(MSYS+MINGW)

    Windows 平台下 VLC 的编译(MSYS+MINGW) 在 Windows 平台下编译 VLC 可以使用两种方法,一种是使用 Cygwin 编译,但这种方法已经 outdated 了,官方推荐的编译方法是使用 MSYS+MINGW。本文将详细介绍使用 MSYS+...

    64位Windows7下MinGW64-MSYS环境搭建

    ### 64位Windows 7 下 MinGW64-MSYS 环境搭建详解 在 Windows 操作系统上开发 C/C++ 应用程序时,MinGW 和 MSYS 经常被用作构建环境的基础工具。本文将详细介绍如何在 64 位 Windows 7 系统中搭建 MinGW64-MSYS ...

    64位Windows7下MinGW64-MSYS搭建

    依然是64位Windows7下MinGW64/MSYS环境搭建,对http://download.csdn.net/detail/cedareal/4906484文档进行了修改,相对旧文档更简洁,采用最新的方式进行搭建,压缩包内包括md文档及pdf文档,内容相同。关于上个...

    msys-1.0.dll

    文件描述:MSYS® POSIX Emulation DLL 常见的错误:文件未找到、丢失或损坏,软件冲突,病毒感染。exe/dll文件: 未响应,意外的错误,CPU使用率过高、文件遇到问题需要关闭、应用程序发生异常未知的软件异常(0xxxxxxxx...

    最新Msys+MinGW离线压缩包

    在Windows环境下,通过MinGW,我们可以使用GCC的C++编译器g++,它负责将C++源代码转换为Windows下的.exe可执行文件。 **压缩包内容** 这个压缩包主要包含MinGW的组件,可能包括但不限于以下部分: - Binaries:存放...

    msys64 for windows

    "msys64 for windows" 是一个专门为Windows操作系统设计的轻量级Unix-like环境,它使得用户能够在Windows上运行基于POSIX的命令行工具和程序。这个环境是MSYS2项目的一部分,它扩展了早期的MSYS(Minimal SYStem)...

    msys msys msys

    **MSYS:Windows下的开源命令行工具集合** MSYS,全称 Minimal SYStem,是一个在Windows操作系统上运行的轻量级Unix-like环境。它主要为开发者提供了一个能够执行POSIX兼容命令行工具的平台,使得在Windows系统上...

    windows下使用MinGW+msys编译ffmpeg.docx

    windows下使用MinGW+msys编译ffmpeg文档资料,在WINDOWS编译成功.

    MSYS.zip MSYS.zip

    描述部分提到,MSYS是用于在Windows下构建能够运行的Linux库的编译环境。它集成的g++编译器是GNU Compiler Collection的一部分,专门用于C++编程。通过g++,开发者可以在Windows上编译源代码,生成能够在Windows操作...

    msys1.0 最新版

    这为那些习惯于Unix/Linux开发环境的用户在Windows下工作提供了便利。 在“msys1.0 最新版”中,你可以期待以下功能和改进: 1. **bash shell**:作为主要的交互式命令行界面,bash提供了与Unix/Linux相似的命令...

    MSYS 1.0.10 && MSYS 1.0.11

    MSYS提供了一个接口,使得开发者可以在Windows下使用类似于UNIX的shell命令,如bash、make等,这对于移植和构建开源软件项目尤其有用。 MSYS 1.0.10和MSYS 1.0.11是该系统的两个不同版本。它们都是为Windows平台...

    Windows下MSYS+MinGW+GTK+GLADE+Eclipse环境搭建

    ### Windows下MSYS+MinGW+GTK+GLADE+Eclipse环境搭建详解 #### 一、为何选择此环境 选择在Windows环境下搭建MSYS+MinGW+GTK+GLADE+Eclipse的开发环境,主要基于以下几个理由: 1. **免费性**:无需在开发工具上...

    MSYS-1.0.10 MSYS-1.0.10

    MSYS 的主要目标是为那些需要在 Windows 环境下进行源码级别的移植和编译工作的开发者提供便利,尤其是对于需要 GNU 工具链(如 GCC 编译器)的项目。 在 MSYS 中,你可以执行常见的 Unix 命令,如 `ls`、`cd`、`...

    Win32下MinGW与MSYS安装介绍

    ### Win32下MinGW与MSYS安装及GTK+配置详解 #### 一、MSYS与MinGW的基础概念 - **MinGW (Minimalist GNU for Windows)**:它是一套为Windows设计的GNU工具集,包括GCC编译器、连接器等,能够用来编译和链接C、C++...

    windows编译ffmpeg源码msys2-x86-64-20220603工具

    在Windows环境下编译FFmpeg源码通常需要借助于特定的开发环境,例如MSYS2。MSYS2是一个轻量级的Unix-like环境,它为Windows提供了POSIX兼容性,使得开发者可以在Windows上构建和运行原本为Linux或Unix设计的软件,如...

    MSYS中国发行版,完整的Windows程序开发工具

    此MSYS为中国发行版,与原版相比安装方便,并集成常用软件集合...MSYS是一组原生的Windows应用程序,提供GNU各种工具方便程序设计,使用GCC作为编译器但运行时环境为MSVCRT,支持Windows API程序开发,MFC,OpenGL等。

Global site tag (gtag.js) - Google Analytics