windows下写代码在linux下编译,如何在Windows中编译Linux Unix的代码(采用cygwin)?...
很多经典算法往往是用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)?...相关推荐
- cmd中加载java源文件_如何在cmd中编译和运行java源文件
如何在cmd中编译和运行java源文件 首先写一个名为HelloWorld.java的java源文件,存储在如C:/java/src的地址,我们再假设待会要存储的位置是C:/java/bin,则我们做 ...
- 如何在Python中注释掉一段代码[重复]
本文翻译自:How to comment out a block of code in Python [duplicate] This question already has an answer h ...
- ultraedit运行java_如何在UltraEdit中编译和运行Java程序
如何在UltraEdit中编译和运行Java程序 (2011-07-28 12:33:52) 标签: it 问题提出: 可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配 ...
- 如何在VMware中安装Linux系统(带界面)~新手向
如何在VMware中安装Linux系统(带界面)~新手向 1.打开VMware虚拟机 2.创建新的虚拟机 3.加载ISO 4.命名虚拟机 5.指定磁盘容量 6.自定义硬件 7.启动虚拟机 1.打开VM ...
- 如何在word中粘贴美观工整的代码段(planetB/notepad++)
如何在word中粘贴美观工整的代码(planetB/notepad++) 在做一些论文写作,例如数学建模比赛时\或者是课程设计时.经常会要求把示例代码附在文后,但这些代码如果直接粘贴相当不美观,说不 ...
- 如何安装新linux内核,详解Debian系统中安装Linux新内核的流程
一直对Linux内核很有兴趣,但苦于入门不易,认真看了ldd前5章突然就来感觉了,光看不练不顶用,首先就需要环境搭建. 使用的是Debian 5.0,内核2.6.26,欲安装的新内核为2.6.28,这 ...
- vlc android 编译 mac,在Mac中编译vlc-android小结
在Mac中编译vlc-android小结 在Mac中编译vlc-android小结 VLC CodeSource https://code.videolan.org/explore This pag ...
- ultraedit编译java_在UltraEdit中编译和运行Java程序
一.首先打开UltraEdit, 点击菜单上的 高级->工具配置,如图: 1 点击插入: 2 在菜单项名称写上该功能,"编译java ": 3 创建一个批处理的文件compi ...
- 如何在Ubuntu中编译VLC-Android开源项目
环境介绍 在开始之前先介绍我编译所需要的一些环境版本 Ubuntu 18.04.1 Android SDK: Android NDK:android ndk-r18b android studio:a ...
最新文章
- Golang反射机制的实现分析——reflect.Type类型名称
- java程序猿必读的学习书籍,良心推荐!
- go的异常处理,defer,panic,recover
- 软工Chapter Seven
- 中国人民银行:关于防范代币发行融资风险的公告
- 成功解决SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame See
- android scrollview 底部控件,Android ScrollView和屏幕底部的按钮
- 荣耀linux怎么安装双系统,双系统怎么装?
- python爬虫的数据如何解决乱码_写爬虫时如何解决网页乱码问题
- (网络收藏)WIKI
- work-conserving scheduling 是什么
- 基于springboot的贫困帮扶系统
- 车辆属性识别、车型识别
- 网站域名如何解析到阿里云和腾讯云服务器?
- 【学习笔记】空间统计(常用)
- php octet stream,php 上传excel时,excel mime-type类型为application/octet-stream,无法通过验证...
- bzoj 4417: [Shoi2013]超级跳马
- Day 03-常用 Composition API_拉开序幕的setup()
- python 认证机构_利用Python爬了SIG官网BQB认证公司清单,我有一些重大发现..
- pandas如何合并列表_Pandas数据合并与拼接的5种方法
热门文章
- SAP Spartacus里unit list tree的页面显示和后台响应数据的对应关系
- 通过环境变量注入的方式启动SAP Spartacus B2B模块
- SAP CRM enterprise search change pointer注册场景之一 - 产品创建
- 将ABAP数据库表的定义导入到PostgreSQL
- Cloud for Customer的工作中心(work center)加载器
- Axure tabstrip and different control
- CRM One Order Appointment里start Date的存储原理
- WordPress的Kyma plugin HTML发送的connect请求是怎么投递到PHP的
- employee setup in Organization unit
- Technical attribute VS Read only attribute