很多经典算法往往是用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下编译,如何在Windows中编译Linux Unix的代码(采用cygwin)?...相关推荐

  1. cmd中加载java源文件_如何在cmd中编译和运行java源文件

    如何在cmd中编译和运行java源文件 首先写一个名为HelloWorld.java的java源文件,存储在如C:/java/src的地址,我们再假设待会要存储的位置是C:/java/bin,则我们做 ...

  2. 如何在Python中注释掉一段代码[重复]

    本文翻译自:How to comment out a block of code in Python [duplicate] This question already has an answer h ...

  3. ultraedit运行java_如何在UltraEdit中编译和运行Java程序

    如何在UltraEdit中编译和运行Java程序 (2011-07-28 12:33:52) 标签: it 问题提出: 可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配 ...

  4. 如何在VMware中安装Linux系统(带界面)~新手向

    如何在VMware中安装Linux系统(带界面)~新手向 1.打开VMware虚拟机 2.创建新的虚拟机 3.加载ISO 4.命名虚拟机 5.指定磁盘容量 6.自定义硬件 7.启动虚拟机 1.打开VM ...

  5. 如何在word中粘贴美观工整的代码段(planetB/notepad++)

    如何在word中粘贴美观工整的代码(planetB/notepad++)  在做一些论文写作,例如数学建模比赛时\或者是课程设计时.经常会要求把示例代码附在文后,但这些代码如果直接粘贴相当不美观,说不 ...

  6. 如何安装新linux内核,详解Debian系统中安装Linux新内核的流程

    一直对Linux内核很有兴趣,但苦于入门不易,认真看了ldd前5章突然就来感觉了,光看不练不顶用,首先就需要环境搭建. 使用的是Debian 5.0,内核2.6.26,欲安装的新内核为2.6.28,这 ...

  7. vlc android 编译 mac,在Mac中编译vlc-android小结

    在Mac中编译vlc-android小结 在Mac中编译vlc-android小结 VLC  CodeSource https://code.videolan.org/explore This pag ...

  8. ultraedit编译java_在UltraEdit中编译和运行Java程序

    一.首先打开UltraEdit, 点击菜单上的 高级->工具配置,如图: 1 点击插入: 2 在菜单项名称写上该功能,"编译java ": 3 创建一个批处理的文件compi ...

  9. 如何在Ubuntu中编译VLC-Android开源项目

    环境介绍 在开始之前先介绍我编译所需要的一些环境版本 Ubuntu 18.04.1 Android SDK: Android NDK:android ndk-r18b android studio:a ...

最新文章

  1. Golang反射机制的实现分析——reflect.Type类型名称
  2. java程序猿必读的学习书籍,良心推荐!
  3. go的异常处理,defer,panic,recover
  4. 软工Chapter Seven
  5. 中国人民银行:关于防范代币发行融资风险的公告
  6. 成功解决SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See
  7. android scrollview 底部控件,Android ScrollView和屏幕底部的按钮
  8. 荣耀linux怎么安装双系统,双系统怎么装?
  9. python爬虫的数据如何解决乱码_写爬虫时如何解决网页乱码问题
  10. (网络收藏)WIKI
  11. work-conserving scheduling 是什么
  12. 基于springboot的贫困帮扶系统
  13. 车辆属性识别、车型识别
  14. 网站域名如何解析到阿里云和腾讯云服务器?
  15. 【学习笔记】空间统计(常用)
  16. php octet stream,php 上传excel时,excel mime-type类型为application/octet-stream,无法通过验证...
  17. bzoj 4417: [Shoi2013]超级跳马
  18. Day 03-常用 Composition API_拉开序幕的setup()
  19. python 认证机构_利用Python爬了SIG官网BQB认证公司清单,我有一些重大发现..
  20. pandas如何合并列表_Pandas数据合并与拼接的5种方法

热门文章

  1. SAP Spartacus里unit list tree的页面显示和后台响应数据的对应关系
  2. 通过环境变量注入的方式启动SAP Spartacus B2B模块
  3. SAP CRM enterprise search change pointer注册场景之一 - 产品创建
  4. 将ABAP数据库表的定义导入到PostgreSQL
  5. Cloud for Customer的工作中心(work center)加载器
  6. Axure tabstrip and different control
  7. CRM One Order Appointment里start Date的存储原理
  8. WordPress的Kyma plugin HTML发送的connect请求是怎么投递到PHP的
  9. employee setup in Organization unit
  10. Technical attribute VS Read only attribute