Cygwin 开源免费软件包


Cygwin在windows平台运行类UNIX模拟环境,是cygnus solutions公司开发的自由软件
对于学习UNIX/Linux操作环境或从UNIX到Windows的应用程序移植
使用GNU工具集在Windows上进行嵌入式系统开发非常有用
随着嵌入式系统开发在国内日渐流行,Cygwin 提供一个UNIX 模拟 DLL 以及在其上层构建的多种
可在 Linux 系统中找到的软件包,在Windows XP SP3以上版本提供良好的支持
Cygwin主要由Red Hat及其下属社区负责维护
官方网站 http://www.cygwin.com/

What...is it? 是什么
Cygwin is:
a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows.
a DLL (cygwin1.dll) which provides substantial POSIX API functionality
...isn't it? 不是什么
Cygwin is not:
a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
a way to magically make native Windows apps aware of UNIX® functionality like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.清晰明了
下载安装向导文件
安装向导文件setup.exe
Cygwin的官方下载安装向导文件
只能通过它才能正确下载最新的Cygwin版本
下一步 继续准备选择Cygwin的安装方式
选择安装方式
有三种安装方式
1)Install from Internet:直接从Internet上下载并立即安装(安装完成后 下载好的安装文件并不会被删除 而是仍然被保留 以便下次再安装)
2)Download Without Installing:只是将安装文件下载到本地 但暂时不安装
3)Install from Local Directory:不下载安装文件 直接从本地某个含有安装文件的目录进行安装
建议选择2项 便于手工指定安装路径然后下一步
设置安装文件的本地存储路径
直接下载的安装方式
所以必需指定好一个本地下载文件存储目录
安装目录所在的驱动器剩余空间必须足够
若要完全下载 至少需要600M以上的空间
选择连接方式共有三种连接方式
1)Direct Connection 直接连接
2)Use IE5 Settings 使用IE的连接参数设置进行连接
3)Use HTTP/FTP Proxy 使用HTTP或FTP代理服务器进行连接(需要输入服务器地址和端口号)
用户可根据自己的网络连接的实情情况进行选择
一般正常情况下均选择第一种直接连接方式
选择下载站点不错的国内镜像
1)上海交大的FTP:ftp://ftp.sjtu.edu.cn/sites/cygwin.com/pub/cygwin/
2)163的镜像:http://mirrors.163.com/cygwin/
3)http://mirrors.sohu.com/cygwin/
又快又稳定
选择下载/安装的安装包
列表文件下载向导会显示列表中的内容 供用户自由选择倒底需要下载哪些安装包 如何选择呢?
用鼠标点击每个安装包名后面那个循环箭头图标即可
图标后面的文字是表示 对该安装包采取何种下载/安装方式
共有这么几类
Default 默认选择 表示只下载/安装该包的缺省安装项(可点击包左边的+号展开 看看缺省安装究竟是些什么内容)
Install 要下载/安装该包的全部内容 所要求的空间也最大
Reinstall 重新下载/安装该包的内容(以上一次正常下载/安装时所选择的内容为准) 这个选项非常有用 稍后在下篇中会有说明
Uninstall 就不用解释了吧
用户可根据自己的实际需要 来准定究竟下载/安装哪些内容 推荐选择“Install”方式 一步到位 免得日后被各种这样那样的问题所困扰
至于窗口顶部那些“Keep”、“Prev”、“Curr”、“Exp”等等选项 只是用来改变当前树结构的显示方式的 对下载/安装没有什么影响 用户可以用默认的Exp“下一步”
当前下载的文件名称、文件大小、下载进度、总体下载进度等等关键信息
若当时选择的是Install方式以便下载全部文件 则下载时间会比较长
这时用户大可睡个觉或者干点其他事情 慢慢等吧
断点续传,Cygwin还没全部下载完全,向导程序就自己罢工不干了怎么办
关闭向导程序后 再重新运行它(一定要用你原先用的那个 而不能重新再当一个)
仍旧选择你第一次下载时选择的那个!
而且 向导程序也会根据你的下载日志
自动获得并定位到该镜像站点上
把ALL后面的Install改为Reinstall!
Reinstall方式在安装时是表示重新安装
在下载的时候表示的就是继续下载!
如果在续传时 安装向导程序又罢工了
只需将以上步骤重新来一遍即可 这种断点续传方式虽然土了点
全部 500多兆的Cygwin安装文件下载完成
1)在用户指定的本地存储路径内
安装向导程序会生成类似这样的一个目录
http%3a%2f%2fmirrors.kernel.org%2fsources.redhat.com%2fcygwin
下载文件的真正所在目录 还会生成两个日志文件:setup.log和setup.log.full  
打开来看看 对了解Cygwin的下载机制有不少帮助
2)晚上11:00以后至早上8:00点这一段时间 进行Cygwin的下载
安装Cygwin
依然点击setup.exe这个程序 Install From Local Directory
D:/Cygwin 选择的下载回来的Cygwin包的路径
D:/Tools/cygwin
本地安装包路径就是setup.ini这个文件所在的文件夹
全部选择为install 点选下一步之后 就等着漫长的安装过程的结束吧
设置环境变量
安装完毕之后 为了能够方便编译NDK 设置相应的环境变量
cygwin安装目录下的home文件夹
用户名下有.bash_profile文件
直接用记事本打开该文件 文件末尾添加如下文字
#创建NDK的路径 在windows中路径为:D:/Android/NDK
NDK_ROOT=/cygdrive/D/Android/NDK
#添加到PATH环境变量中
export NDK_ROOT
保存之后 打开cygwin 在命令行输入
cd $NDK_ROOT 这里注意区分大小写的
在该用户名下建立一个.bash_profile  
在用户名下建立了该文件 但似乎环境变量根本没有成功设置
用户名所在的路径设置不对 要检验路径 直接在cygwin输入pwd即可
修改相应的环境变量
我的电脑"点击右键 属性 -> 高级 -> 环境变量 在上面或下面的框中
找到HOME这个环境变量 更改为相应的数值即可
重启电脑 将.bash_profile拷贝到HOME变量指向的路径
启动cygwin 生效 否则这HOME变量之前的数值可能还会影响到cygwin
更改HOME变量数值之后 输入pwd 很明显看出 路径已经改变 NDK_ROOT变量也起作用
编译程序
编译程序试试
在cygwin命令行界面进入到D:/Android/NDK/samples/hello-jni路径
cd /cygdrive/D/Android/NDK/samples/hello-jni
$NDK_ROOT/ndk-build 编译
$NDK_ROOT是之前在.bash_profile设置的环境路径
而ndk-build是调用NDK的编译工具
生成一个libs目录 并且编译生成的.so文件也会悉数在此
启动配置好的android的java开发环境
比如说Eclipse + CDT
创建一个Android项目 选择Create project form existring source location =D:/Android/NDK/samples/hello-jni
即可开始编译并生成apk文件