cygwin和mingw编译软件的疑问

旧巷老猫 提交于 2019-12-02 18:54:58

       对于cygwin和mingw的区别已有基本了解。先已有mingw+msys环境,mingw版gcc在mingw官网下载,版本4.5.2,安装了一些的开发库,但在mingw中编译gnu程序,少有顺利通过的,mingw版的gcc编译出来是原生的win32程序。考虑到mingw对linux环境的模拟“不够纯”,重新下载安装cygwin,现只有一个基本的运行环境。可以确定,cygwin中预装的程序(/bin目录下的大量工具)对cyg*.dll的动态库有依赖,目前没有安装cygwin版的gcc。

我的疑问是:
1.直接把mingw版的gcc放到$PATH路径中,这样在cygwin的终端环境中编译gnu软件或者一些开发库和在msys终端编译是一致的效果吗?比如,失败的话,同样的错误;成功的话,同样不依赖于cyg*.dll动态库?


2.通过setup另下一个cygwin版的gcc(其实在cygwin官网上同时看到有gcc和mingw-gcc就很疑惑了),在cygwin的终端环境中编译软件,如果遇到源代码直接调用win32API而不是unix风格的系统调用,cygwin版的gcc能否编译成功? 若可以编译成功,是不是程序运行依赖于上述的dll?


3.同时保留有两个版本的gcc(mingw的和cygwin的),个人想在编译常用工具或开发库(如gnu的工具)时使用cygwin版的,这样在本地运行,即便依赖cyg*.dll动态库也可以接受,而基于这些工具和开发库开发新的程序,能否通过指定gcc编译器和在编译时添加额外选项,甚至从源码重新编译新的gcc软件,来使新的程序不必依赖cyg*.dll动态库?

第3点是本人最关心的,希望有高人来解答,谢谢!


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!