来源: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:\cygwin\bin;c:\cygwin\sbin;c:\cygwin\usr\bin;c:\cygwin\usr\sbin;c:\cygwin\usr\local\bin

set LD_LIBRARY_PATH=c:\cygwin\lib;d:\cygwin\usr\lib;c:\cygwin\usr\local\lib

chdir C:\cygwin\bin

bash --login -i

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

特别关注:

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

@echo off

C: set CYGWIN=tty notitle glob

set PATH=%PATH%;c:\cygwin64\bin;c:\cygwin64\sbin;c:\cygwin64\usr\bin;c:\cygwin64\usr\sbin;c:\cygwin64\usr\local\bin

set LD_LIBRARY_PATH=c:\cygwin64\lib;d:\cygwin64\usr\lib;c:\cygwin64\usr\local\lib

chdir C:\cygwin64\bin

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再按回车)。

 

如何在Windows中编译Linux Unix的代码(采用cygwin)?的更多相关文章

  1. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  2. # 如何在Windows下运行Linux程序

    如何在Windows下运行Linux程序 一.搭建 Linux 环境 1.1 安装 VMware Workstation https://www.aliyundrive.com/s/TvuMyFdTs ...

  3. 在Windows中运行Linux bash命令的几种方法

    如果你正在课程中正在学习 shell 脚本,那么需要使用 Linux 命令来练习命令和脚本. 你的学校实验室可能安装了 Linux,但是你自己没有安装了 Linux 的笔记本电脑,而是像其他人一样的 ...

  4. 如何在Windows中手动生成SSH密钥?(转)

    在Windows上,您可以通过多种方式创建SSH密钥.Windows需要SSH客户端,但在其操作系统上没有默认的SSH客户端.请注意,Windows目前正在测试本机OpenSSH应用程序,一般,不提倡 ...

  5. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  6. 如何在Windows中打开多个Windows Media Player

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在Windows中打开多个Windows Media Player.

  7. 在windows中增加linux命令

    在windows中增加linux命令 无它,复用git中的即可:

  8. 如何在Idea中编译构建Spring Framework 5.x

    如何在Idea中编译构建Spring Framework 5.x 安装配置Gradle(略) 下载源码:git clone https://github.com/spring-projects/spr ...

  9. 如何在Python中使用Linux epoll

    如何在Python中使用Linux epoll 内容 介绍 阻塞套接字编程示例 异步套接字和Linux epoll的好处 epoll的异步套接字编程示例 性能考量 源代码 介绍 从2.6版开始,Pyt ...

随机推荐

  1. Linux下SVN客户端安装及使用

    转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...

  2. curl模拟登录新浪微博

     这几天要做个获取新浪微博@我的信息, 又不用第三方登录,所以只能通过模拟登录来获取信息,研究的一下发现直接模拟登录微博比较困难,验证的算法比较复杂,于是绕道通过登录新浪通行证后来获取cookie 来 ...

  3. 关于imagic拼接透明背景图片的问题

    目标: 为了做图片水印,需要水平拼接多个logo和文字... 之前用过imagick,所以继续使用. 第一个版本:实现了图片和文字的拼接,代码如下: package main import ( &qu ...

  4. hibernate报错Unknown integral data type for ids : java.lang.String

    package com.model; // Generated 2016-10-27 14:02:17 by Hibernate Tools 4.3.1.Final /** * CmDept gene ...

  5. git更换仓库地址

    1.  从原始地址 clone 一份不包含 work copy的仓库: git clone --bare bitbucket_project_address 2. 在os china上创建同名项目. ...

  6. [Note] changing building platform from vs 2013 to vs community 2015

    The error turned out as "undefined linkage"(The same as you haven't use some function that ...

  7. 性能优化九之UI卡顿分析

    在前一篇博客中提到内存抖动和耗时复杂的计算会导致UI卡顿. 那为什么内存抖动会导致UI卡顿呢? 其实在 性能优化一之内存与垃圾回收器 这篇文章中已经有所提及. 这里来详细说明一下: 渲染功能是应用程序 ...

  8. 协程,事件驱动,异步io模型,异步网络框架

    协程是一种用户态的轻量级线程,内核不知道它的存在.协程运行于一个线程中,协程的切换是由用户控制的.线程的切换是由cpu来控制的,而协程的切换是由用户控制的.协程的执行时串行的. select/poll ...

  9. HttpWebRequest类

    HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...

  10. TColor 与 RGB 的转换函数

    function RGB2TColor(const R, G, B: Byte): Integer;begin  // convert hexa-decimal values to RGB  Resu ...