配置MSYS环境
主要是为了学习 autotools
首先下载mingw和MSYS的在线安装包,选中需要的内容,全部下载即可
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命令行中使用MSYS和man
安装了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的自动完成了!