如何在Windows中编译Linux Unix的代码(采用cygwin)?

来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html   作者:rocky_y

很多经典算法往往是用C++在linux下实现的,对长期从事windows开发的辛苦大众来说,想看这些算法的运行效果不得不费一点小功夫。今天捣鼓了一晚上才搞定这事,写出实现方法和大家共享。

第一步:下载安装新版Cygwin软件。该软件的官方网站:http://cygwin.com/

   Cygwin软件的作用是让Windows拥有Unix-like环境的软件。所以,GCC等编译器自然也就会包含在里面。不过,对于开发者,Cygwin是一个开发环境。而对于用户来说Cygwin是一个运行环境。

   注意:

        1. 要编译C++或者C程序的话,再安装时在选择组件这一步需要选中Devel 选项下的gcc-core,gcc-g++,make 以及Lib选项卡下的glib2,glib2-devel,glib2-runtime。

        2.为了提高网络下载速度,建议下载网址选用网易镜像站点:http://mirrors.163.com/

第二步:修改 cygwin.bat文件。

  

        找到cygwin项目安装目录下的cygwin .bat文件,用记事本将其打开。修改成如下形式:

    @echo off

C:

set CYGWIN=tty notitle glob

set PATH=%PATH%;c:cygwinin;c:cygwinsbin;c:cygwinusrin;c:cygwinusrsbin;c:cygwinusrlocalin

set LD_LIBRARY_PATH=c:cygwinlib;d:cygwinusrlib;c:cygwinusrlocallib

chdir C:cygwinin

bash --login -i

红色部分为新加入的部分,注意把里面的的路径改成你自己的安装路径。 

特别关注:

          对于WIN7 64位系统,默认cygwin安装在c:cygwin64in目录,因此cygwin.bat修改成如下:

@echo off

C: set CYGWIN=tty notitle glob

set PATH=%PATH%;c:cygwin64in;c:cygwin64sbin;c:cygwin64usrin;c:cygwin64usrsbin;c:cygwin64usrlocalin

set LD_LIBRARY_PATH=c:cygwin64lib;d:cygwin64usrlib;c:cygwin64usrlocallib

chdir C:cygwin64in

bash --login -i

第三步:在Cygwin使用g++编译软件。

    在Cygwin安装目录下,运行cygwin.bat就可以启动cygwin环境了。环境启动后使用cd /cygdrive/...进入你项目所在的文件夹(...代表项目目录,如:cd /cygdrive/d/testProject/)。进入目录后你就可以使用g++命令来编译代码了,g++命令的具体使用方法可以通过键入g++ --?命令来了解。一般网上的项目都有一个makefile文件,如果你下载的项目恰好也有这个文件,那走运了,你直接在ygwin环境中输入make命令即可编译整个项目。到此为止软件应该已经被编译成功。

第四步:运行软件。

   运行软件是用如下形式的命令:./testProject -parameter 。另外提一句,如果需要在cygwin环境输入数据,在linux环境中ctrl +d表示输入结束(windows中是ctrl+Z再按回车)。

 
原文地址:https://www.cnblogs.com/whitechen/p/cygwin.html