跳至正文

[转]mingw,cygwin,gnuwin32 的详细区别.

  • MinGW:Minimalist GNU for Windows
    • 安装MinGW
      • 无配置
    • 安装MSYS及MSYSDTK
      • 编辑了/MSYS.bat
        1. 加入chdir,使可以在目录外运行。
        2. 通过命令行参数%~dp0得到MSYS的路径。
        3. 删除其他命令行参数相关的动作。
        4. 将命令行参数%~dp1设置为环境变量MSYSINITDIR以备Shell初始目录之用。
        5. 将默认的Shell从rxvt改为sh。
      • 增加了/LoadMSYS.bat及/LoadMSYS.reg
        1. 作用:扩展命令行参数为完全路径名,将参数传送给MSYS.BAT。
        2. 将LoadMSYS.bat放在系统PATH下面,使在任何目录下都可以调用。
        3. 编辑注册表ROOT下面的*项和Folder项,以支持鼠标右健直接调用。
        4. 导出注册表项为LoadMSYS.reg,以备用。
      • 编辑了/etc/fstab
        1. 设置MinGW目录的Mount Point为/mingw
        2. 设置MINGW/INFO的Mount Point为/info
        3. 创建COMMAND目录,将Mount Point设为/usr/local/bin,以存放用MinGW Gcc编译的程序。
        4. 设置了其他一些常用目录的Mount Point。
      • 编辑了/etc/profile
        1. export PATH:加入/Mingw/bin。
        2. export INFOPATH:目录用;号隔开,作info搜索之用。
        3. 如果$MSYSINITDIR不为空,则改变为初始目录(CD之)。
      • 编辑了$HOME/.vimrc
        1. 配置复制自win32版的gvim。
        2. 加入syntax on:语法高亮。
        3. 加入set nu:显示行号。
        4. 加入set guifont:设置字体(console版本无效)
    • 总结
      • MinGW:许多unix源码,很难在不修改的情况下直接编译
      • MinGW:作为windows native programe(不依赖emulation layer),可以胜任
      • MSYS:对宽字符的支持较差
      • FREEWARE
  • Cygwin:GNU+Cygnus+Windows
    • 下载时只选择必需的程序包
    • 与MSYS近似的许多配置
    • 编辑了/etc/bash.bashrc
      • export PATH
      • export INFOPATH
        • 与MinGW不同,目录间用:号隔开
      • export MANPATH
    • 设置常用目录的Mount Point
      • Cygwin无/etc/fstab文件,Mount Point通过命令行mount命令设置,设置在下次重启之后仍有效。
    • 编译了新版本的Gcc及Gdb
    • 编译了新版本的make
    • 编译了termcap
    • 编译了less
    • 总结
      • 大多数unix源码都可以顺利编译
      • 对宽字符集支持较好
      • 编译的程序大多数依赖CygDLL
      • 非常丰富的程序库
      • FREEWARE
  • GnuWin32:Win32 ports of tools with a GNU or similar open source license
    • termcap
      • 在MSYS/MinGW环境下编译成功
    • less
      • 需要termcap
      • 在MSYS/MinGw环境下无法编译
        • 提示找不到langinfo.h
        • 下载了libgw32c的lib版,修改makefile,main.c,filename.c之后,编译成功,但运行时出现错误。 
      • 在Cygwin环境下编译成功
      • 用VC97编译成功
    • libgw32c
      • 在MSYS/MinGw环境下无法编译
        • 错误极多
      • 在Cygwin环境下无法编译
        • 错误极多
      • 连接bin版某些程序可以编译
        • 运行时出现错误
          1. 以编译less为例
    • wget
      • 用VC97编译成功
    • 总结
      • 源代码大多在MSYS/MinGW下无法成功编译
      • 源代码对Microsoft VC友好
      • 源代码对Cygwin/MinGW友好
      • 作为独立的工具程式较有价值
      • FREEWARE
  • 总结之总结
    • 这两三天,加上以前几天,仿佛很忙。./configure,make,make install,make clean,make distclean,info XXX,上网看文档,下载源代码。归结起来,没做什么有价值的事。就算积累了一些经验。经验不外是记忆,记忆不外是先进先出,然后完了。所以做了以上一点记号。哎,大脑内存不断磨损,还是复制到外存贮器上安全一点,算是备份。

发表回复

您的电子邮箱地址不会被公开。