来源: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. 转一下大牛的嵌入web页播放视频方法(转)

    来自:http://www.cnblogs.com/bandry/archive/2006/10/11/526229.html 在Web页中嵌入Media Player的方法比较简单,只要用HTML中 ...

  2. Velocity语言的介绍

    Velocity语言的介绍 2016-09-06 15:39:25 语言介绍 Velocity是一种Java模版引擎技术,是一个基于Java的模板引擎(template engine).她允许任何人简 ...

  3. easyui treegrid逐步加载

    $("#bomStructureTable").treegrid({ url : "systemcontroller?id=10007",//首次查询路径 qu ...

  4. selenium2(WebDriver)环境搭建

    1.安装jdk并配置环境变量: jdk安装jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html环境变量 ...

  5. linux操作系统-脚本入门

    背景:在使用linux时,经常会写一些linux命令片段,比较麻烦,有经验的程序员会把 这些碎片式的命令写成shell脚本 1.重启tomcat脚本 #!/bin/sh #kill tomcat pi ...

  6. Daily Scrum 12.13

    今日完成任务: 已经解决用户管理异常:解决主页TAG显示不正确;解决下载量不正确,完成下载量的计数. 明日任务: 黎柱金 解决文档打开时全部是同一个PDF的BUG 冯飘飘 优化右侧显示最佳资源的算法 ...

  7. MongoDB的真正性能-实战百万用户一-一亿的道具

    使用情景 开始之前,我们先设定这样一个情景: 1.一百万注册用户的页游或者手游,这是不温不火的一个状态,刚好是数据量不上不下的一个情况.也刚好是传统MySql数据库性能开始吃紧的时候. 2.数据库就用 ...

  8. oracle创建用户并导入dmp文件

    SQL命令行执行以下命令:SQL> conn sys/111111 as sysdba; SQL> CREATE USER TEST11 IDENTIFIED BY "11111 ...

  9. 解析jquery获取父窗口的元素

    ("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx ...

  10. MongoDB GridFS 对图片进行增删改

    using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Builders; using MongoDB.Driver.GridFS ...