回主页 我的日志 联系我                          

配置MSYS环境

主要是为了学习 autotools

首先下载mingwMSYS的在线安装包,选中需要的内容,全部下载即可

MSYS配置


安装好了以后在MinGW目录下有一个msys文件夹,里面就是msys的基础系统。 如果是从别处复制过来的需要执行 postinstall/pi.bat ,此设定了MinGW的安装位置!

只要在安装时选择了完整的开发环境 autotools 就安装好了!

lua可以直接使用mingw-get获取安装,如果需要请自行安装!

中文支持


此时的MSYS还不能支持中文,首先在/etc/profile文件中设置:

alias ls='/bin/ls --show-control-chars --color=tty'

# 下面修改是为了方便从任何目录切换到 msys 环境
if [ -z "$CURCMDPATH" ]; then
  cd "$HOME"
else
  cd "$CURCMDPATH"
  unset CURCMDPATH
fi

此时中文显示ok,但是还不能输入,需要修改 inputrc, 需要修改的文件为 /etc/inputrc.default~/.inputrc:

#找到这部分修改成如下设置
# disable/enable 8bit input
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off

安装man


man是必须的,但是MSYS不提供,只好自己来了!可以参考 ManScript!

首先将msys/usr/share目录同MinGW/share合并,否则在安装groff或其他包时有可能失败, 这些包需要检测automake等!

对于Vista以上的系统可以使用mklink命令创建目录的符号连接!
如果编译中实在出错就把MinGW目录同MSYS目录合并也应该没问题的!

当然必须安装的还有groff,这个可以从MinGW项目中去下载,可以源代码也可以是安装包! (建议用源代码,正好熟悉一下常用的安装过程,顺便测试一下看shell是不是正确执行!)

具体的安装过程见groff自带的README

然后到MinGW/msys/1.0/bin下创建man脚本,参照 ManScript 编写man脚本和man.conf跟安装不一致的地方自行修改!

完了可以从linux man处下载最新的man手册!

此处的手册包含了2 3 4 5 7不完全,我主要是使用此处的 3. Library functions
对于常用的linux命令,可以从linux系统上复制man1文件夹到对应的/usr/share/man(如果是gz格式的需要解压)。

windows命令行中使用MSYSman


安装了groff以后在windows命令行中使用man也是很方便的! 编写一个bat文件即可!(可以从最后的附件中找到!)将该文件放到系统路径中就可以执行!

如果你直接从ManScript复制了其中的脚本, 则只能默认查找man1,且有可能在运行时 提示WARNING: terminal is not fully functional,需要设置set TERM=msys!(参考附件)

同样在命令行中可以执行sh切换到MSYS,或者执行sh -c "some command",将会很cool! 那样你可以写Makefile时用shell,执行sh -c make执行!可以同Eclipse等工具集成!

同样在附件中也提供了一个sh.cmd(就是一个bat文件),可以完成这个工作!

sh.cm中设置了CURCMDPATH变量,同最开始修改/etc/profile里的内容对应起来了!

与其他工具的集成


因为在项目中使用了git而且我也已经安装了msysgit,这里就直接调用现有的git.exe

很简单,写一个shell脚本即可!
可以将msysgit/etc/git-completion.bash复制到MSYS的对应目录下, 在/etc/profile文件中加入. /etc/git-completion.bash,这样就可以使用git的自动完成了!

附件


修改的文件


©2012-2020 Mark (冀ICP备19037432号-1)