对于cygwin和mingw的区别已有基本了解。先已有mingw+msys环境,mingw版gcc在mingw官网下载,版本4.5.2,安装了一些的开发库,但在mingw中编译gnu程序,少有顺利经过的,mingw版的gcc编译出来是原生的win32程序。考虑到mingw对linux环境的模拟“不够纯”,从新下载安装cygwin,现只有一个基本的运行环境。能够肯定,cygwin中预装的程序(/bin目录下的大量工具)对cyg*.dll的动态库有依赖,目前没有安装cygwin版的gcc。linux
个人疑问是:
1.直接把mingw版的gcc放到$PATH路径中,这样在cygwin的终端环境中编译gnu软件或者一些开发库和在msys终端编译是一致的效果吗?好比,失败的话,一样的错误;成功的话,一样不依赖于cyg*.dll动态库?工具
2.经过setup另下一个cygwin版的gcc(其实在cygwin官网上同时看到有gcc和mingw-gcc就很疑惑了),在cygwin的终端环境中编译软件,若是遇到源代码直接调用win32API而不是unix风格的系统调用,cygwin版的gcc可否编译成功? 若能够编译成功,是否是程序运行依赖于上述的dll?unix
3.同时保留有两个版本的gcc(mingw的和cygwin的),我的想在编译经常使用工具或开发库(如gnu的工具)时使用cygwin版的,这样在本地运行,即使依赖cyg*.dll动态库也能够接受,而基于这些工具和开发库开发新的程序,可否经过指定gcc编译器和在编译时添加额外选项,甚至从源码从新编译新的gcc软件,来使新的程序没必要依赖cyg*.dll动态库?
第3点是本人最关心的,但愿有高人来解答,谢谢!
开发