cygwin的使用

来源:互联网 发布:网络彩票最新消息新闻 编辑:程序博客网 时间:2024/06/01 09:31

第一部分:

       转至: 一醉千年 http://blog.csdn.net/yili_xie/archive/2009/12/23/5062115.aspx

 

为Cygwin究竟是一个啥环境还纠结了很久。。。虽然说是仿的,但是Cygwin环境实际上还是一个货真价实的unix环境,虽然可能支持得没有一般的unix的库全,但是它的确是一个unix环境,它提供的命令能达到标准unix一样的效果,只不过这些命令是跑在windows上的~~因此如果有BUILD_UNIX=yes这样的选项,在Cygwin下面是不能去掉的。。。。

     这里说一下Cygwin中gcc编译的-mno-cygwin这个选项。这个选项的作用就是让生成的.exe不需要依赖cygwin1.dll这个第三方库,所有的库都使用OS提供的库。因为默认使用gcc在cygwin下编译出的可执行程序都是依赖cygwin1.dll的。要想生成的应用程序不依赖cygwin1.dll,在编译的时候指定这个选项就可以了。但是指定这个选项以后cygwin默认不再使用它提供的标准库,而使用mingw提供的标准库进行编译,如果你的Cygwin没有正确安装mingw的库的话,就会报找不到头文件的错误。详细的文档可以参考这里:http://www.delorie.com/howto/cygwin/mno-cygwin-howto.html

      不过虽说Cygwin都提供了unix下常用的功能,但有时候有些命令就会出毛病,我编译的时候就碰到YACC老是崩溃的问题,解决的方法很简单,就是把相应的makefile拷到标准linux下编译,生成好相应的文件后再把文件拷到Cygwin下编译。其他命令的问题我觉得也可以通过这样的方法解决。

      最后说一个小技巧,那就是将Cygwin的bin加入到PATH以后,我们可以在CMD中使用bash  [parameter]来进入Cygwin执行相应的命令,比如说我要在CMD中目录下执行***.cmd,那么我们首先进入这个目录,然后敲bash ./***.cmd就可以在Cygwin中执行这个cmd了~~

原创粉丝点击