图片 5

Windows下的Linux开辟条件,3版本中分离出来

Cygwin 3.1.0 发布了,Cygwin是超多自由软件的集中,最先由Cygnus
Solutions开采,用于各个版本的Microsoft
Windows上,运转UNIX类系统。Cygwin的显要目标是经过重复编译,将POSIX系统(举例Linux、BSD,以致此外Unix系统)上的软件移植到Windows上。Cygwin移植职业在Windows
NT、Windows 二〇〇〇、Windows XP以致Windows Server 2000上对比好,在Windows
95和Windows 98上,相对差劲一些。如今Cygwin由Red Hat等负担维护。

自个儿想让本身的C ++项目跨平台,小编正在考虑采纳Cygwin / MinGW。
不过他们中间有哪些分别呢?

一 cygwin
Cygwin 是一个用以 Microsoft® Windows® 操作系统的类 UNIX®
情状。它富含一个的确的 UNIX shell、三个 Portable Operating System
Interface (POSIX卡塔尔国 模拟库以至数千个 UNIX 实用程序。

新本子富含:

另三个标题是,若无Cygwin / MinGW,笔者是不是在系统上运营二进制文件?

作用:
1)作为Linux/Unix的初读书人,能够选用cygwin来在windows上效仿使用Linux/Unix;
2)能够依照cygwin来从windows访谈Linux/Unix;
3)可以在Windows上效仿Linux的费用条件,比方动用GUN的编写翻译和调试工具来做程序支付;
4)能够依附cygwin中间层完毕Linux/Unix应用程序到windows的无代码修改的移植;(cygwin
dll完成了对windows底层API的Linux/Unix风格的包裹)
5)注意,cygwin中运作的Linux/Unix工具其实是那么些工具的对应的windows的exe版本,cygwin不可能一向运转Linux/Unix的应用程序;

* cygwin-3.1.0-1
* cygwin-devel-3.1.0-1
* cygwin-doc-3.1.0-1

 Answers


Cygwin是尝试在Windows上制造两个完整的UNIX / POSIX情状。
要做到那或多或少,它应用各类DLL。 就算这个DLL被GPLv3
+覆盖,不过它们的许可证包蕴二个极度 ,不会强迫派生的行事被GPLv3
+覆盖。 MinGW是一个C / C
++编写翻译器套件,它同意你创立Windows可推行文件而不依附于如此的DLL –
您只供给普通的MSVC运维时,那是Microsoft Windows日常安装的一片段。

您也能够获取二个小的UNIX /
POSIX蒙受,用MinGW编写翻译成MSYS 。
它从不Cygwin的全体功用,但对于想要使用MinGW的程序猿来讲是拾分卓越的。

作为贰个简化,正是如此的:

  • 在Cygwin中编译一些东西,然后编写翻译Cygwin 。

  • 编写翻译MinGW中的东西,你正在为Windows编译它。

关于Cygwin

Cygwin的指标是由此模拟非常多基于Unix的操作系统提供的小细节,并通过POSIX规范来记录,使得基于nix的应用程序更便于移植到Windows上。
假若你的应用程序假定它能够采纳Unix成效,举例管道,Unix风格的公文和目录访谈等等,那么你能够在Cygwin中编译它,而Cygwin本人将用作你的应用程序的兼容层 ,这么些特定于Unix的模范能够继续选取,对应用程序实行相当少或没有必要纠正。

假诺你想为Cygwin编译一些东西并散发这几个应用程序,那么你还必需将Cygwin运维时景况(由cygwin1.dll提供)与它一起cygwin1.dll , 这对您可能接收哪种类型的软件许可有影响 。

关于MinGW

MinGW是GNU编译器工具的Windows端口,比方GCC,Make,Bash等等。
它不会试图仿照或提供与Unix的完美包容性,而是提供在Windows上选拔GCC(GNU编写翻译器)和少许任何工具的最低需求情况。
它未有像Cygwin相通的Unix仿真层,不过结果是您的应用程序供给非常的编制程序才干在Windows上运转,那有可能意味着一旦它被创制为依据于在标准Unix蒙受中运转,使用Unix特有的效果与利益,比方前面提到的意义。
暗许意况下,在MinGW的GCC中编写翻译的代码将编写翻译为本机Windows
X86目标,富含.exe和.dll文件,然而也得以使用正确的装置进行接力编写翻译。
MinGW是Microsoft Visual C
++编写翻译器及其关联的链接/制作工具的开源代替品。

主页:

该版本包蕴部分新特点和 bug 修复,首要有:

留存一定复杂的跨平台框架,这使得将动用轻易移植到各类操作系统的职分成为恐怕

例如Qt框架卡塔尔(قطر‎是跨平台应用的流行框架。
假让你从一开始就应用那样的框架,那么你不仅能够减去在移植到任何平台时遇到的费劲,并且能够在富有平台上应用同样的图形窗口小零件(窗口,菜单和控件)
GUI应用程序。

要增加到别的答案,Cygwin附带MinGW库和标题,您能够由此使用-mno-cygwin标识与gcc编写翻译而不链接到cygwin1.dll。
小编格外心爱使用简易的MinGW和MSYS。

维基百科在这里做多少个相比。

从Cygwin的网站 :

  • Cygwin是二个好像于Linux的Linux境况。
    它由两有个别构成:叁个DLL(cygwin1.dll),充任Linux
    API仿真层,提供大批量的Linux API成效。
  • 提供Linux外观的一雨后玉兰片工具。

从Mingw的网站 :

MinGW(简称“GNU for
Windows”)是两个可无偿获得并可随便分发的Windows特定头文件和导入库的群集,与GNU工具集相结合,能够生成不依赖任何第三方C运行时DLL的地面Windows程序

Cygwin使用DLL,cygwin.dll(或许一组DLL)在Windows上提供相像于POSIX的周转时。

MinGW编写翻译为本机Win32应用程序。

设若您用Cygwin创设一些东西,你安装它的此外系统也将索要Cygwin DLL。
MinGW应用程序没有必要任何异样的周转时。

翻阅这么些回应的主题素材,了然Cygwin和MinGW之间的区分。

标题1:作者想创立一个自己编写源代码的应用程序,编写翻译贰次并在其余平台(譬喻Windows,Linux和Mac
OS X …)中运作它。

解答#1:用JAVA写你的源代码。 编写翻译叁次源代码并在其余地点运作。

主题素材2:作者想创制一个自身编写源代码的应用程序,但不曾此外难题,作者能够分级编写翻译任何平台的源代码(比如Windows,Linux和Mac
OS X …)。

答案2:用C或C ++写你的源代码。 只使用标准头文件。
为别的平台应用方便的编写翻译器(举例Windows的Visual
Studio,Linux的GCC和Mac的XCode)。
请注意,您不应当运用任何高级编制程序成效在装有平台上得逞编译您的源代码。
若是你不使用C或C ++标准类或函数,则您的源代码无法在其余平新竹编写翻译。

难题#3:在主题材料#2的回复中,各种平台都难以使用不一样的编写翻译器,有未有跨平台的编写翻译器?

答案3:是的,使用GCC编写翻译器。 那是叁个跨平台的编写翻译器。
要在Windows中编写翻译源代码,请使用为Windows提供GCC编写翻译器的MinGW ,并将源代码编写翻译为本机Windows程序。
不要选取此外高等编程功效(如Windows API)在颇有平台上成功编写翻译源代码。
倘诺您使用Windows API函数,则您的源代码不会在任何平新竹编写翻译。

主题材料4:C或C ++标准头文件不提供别的高等编制程序功用,如八线程。 小编能做什么样?

答案4:您应该接纳POSIX(便携式操作系统接口[用于UNIX])标准。
它提供了繁多高端编制程序功用和工具。
大多操作系统完全或局地POSIX包容(如Mac OS X,Solaris,BSD /
OS和…)。
一些操作系统,固然并未有正经八百认证为POSIX宽容,十分大程度上相符(如Linux,FreeBSD,OpenSolaris和…)。 Cygwin为Microsoft
Windows提供了一个中坚契合POSIX规范的付出和平运动作情状。

从而:

二 cygwin的安装
Cygwin 是贰个用来 Windows 的类 UNIX shell 情形。 它由八个构件组成:叁个UNIX API 库,它模拟 UNIX 操作系统提供的不菲特征;以至 Bash shell
的改写版本和广大 UNIX 实用程序,它们提供大家听得多了自然能详细说出来的 UNIX
命令行分界面。前多少个构件是三个 Windows 动态链接库
(DLLState of Qatar。后贰个构件是一组依赖 Cygwin DLL 的前后相继,个中超级多是用未经改善的
UNIX 源代码编写翻译的。它们合在一同提供我们耳濡目染的 UNIX 景况。

- Add 24 bit color support using xterm compatibility mode in Windows 10
  1703 or later.  Add fake 24 bit color support for legacy console,
  which uses the nearest color from 16 system colors.

- Support pseudo console in PTY. Pseudo console is a new feature
  in Windows 10 1809, which provides console APIs on virtual
  terminal. With this patch, native console applications can work
  in PTYs such as mintty, ssh, gnu screen or tmux.

- New APIs: sched_getaffinity, sched_setaffinity, pthread_getaffinity_np,
  pthread_setaffinity_np, plus CPU_SET macros.

- New APIs: dbm_clearerr, dbm_close, dbm_delete, dbm_dirfno, dbm_error,
  dbm_fetch, dbm_firstkey, dbm_nextkey, dbm_open, dbm_store.


What changed:
-------------

- FIFOs can now be opened multiple times for writing.
  Addresses: https://cygwin.com/ml/cygwin/2015-03/msg00047.html
             https://cygwin.com/ml/cygwin/2015-12/msg00311.html

- If a SA_SIGINFO signal handler changes the ucontext_t pointed to by
  the third parameter, follow it after returning from the handler.

- Eliminate a header file name collision with <X11/XLocale.h> on case
  insensitive filesystems by reverting <xlocale.h> back to <sys/_locale.h>.

- Allow times(2) to have a NULL argument, as on Linux.
  Addresses: https://cygwin.com/ml/cygwin/2019-09/msg00141.html

- Improve /proc/cpuinfo output and align more closely with Linux.

- Raise stackdump frame limit from 16 to 32.
  Addresses: https://cygwin.com/ml/cygwin/2019-11/msg00038.html


Bug Fixes
---------

- Fix select() on console in canonical mode.  Return after one line is
  completed, instead of when only one key is typed.

- Make console I/O functions thread-safe.

- Define missing MSG_EOR.  It's unsupported by the underlying Winsock
  layer so using it in send(2), sendto(2), or sendmsg(2) will return -1
  with errno set to EOPNOTSUPP and recvmsg(2) will never return it.

- Fix a timerfd deadlock.
  Addresses: https://cygwin.com/ml/cygwin/2019-06/msg00096.html

- Fix sigpending() incorrectly returning signals for unrelated threads.
  Addresses: https://cygwin.com/ml/cygwin/2019-07/msg00051.html

- Fix a hang when opening a FIFO with O_PATH.
  Addresses: https://cygwin.com/ml/cygwin-developers/2019-06/msg00001.html

- Don't append ".lnk" when renaming a socket file.
  Addresses: https://cygwin.com/ml/cygwin/2019-07/msg00139.html

- Make tcsetpgrp() return -1 if its argument is negative.
  Addresses: https://cygwin.com/ml/cygwin/2019-07/msg00166.html

- Avoid mistakenly moving a process under debugger control into the
  process group of the debugger.
  Addresses a problem visible in GDB 8.1.1, related to
  https://cygwin.com/ml/cygwin/2019-07/msg00166.html

- Return ENOEXEC from execve for arbitrary files only if the files are
  executable.
  Addresses: https://cygwin.com/ml/cygwin/2019-08/msg00054.html

- Fix off-by-one in environment evaluation leading to an abort.
  Addresses: https://cygwin.com/ml/cygwin-patches/2019-q3/msg00069.html

- Make output of /proc/[PID]/stat consistent with getpriority().
  Addresses: https://cygwin.com/ml/cygwin/2019-08/msg00082.html

- 64 bit only: Avoid collisions between memory maps created with shmat
  and Windows datastructures during fork.
  Addresses: https://cygwin.com/ml/cygwin/2019-08/msg00107.html

- Make rmdir fail if its argument is a symlink.
  Addresses: https://cygwin.com/ml/cygwin/2019-09/msg00221.html

- Fix an assertion failure on an invalid path.
  Addresses: https://cygwin.com/ml/cygwin/2019-09/msg00228.html

- If the argument to mkdir(2) or rmdir(2) is 'x:\', don't strip the
  trailing backslash.
  Addresses: https://cygwin.com/ml/cygwin/2019-08/msg00334.html

- Make spawnvp, spawnvpe fail if the executable is not in $PATH.
  Addresses: https://cygwin.com/ml/cygwin/2019-10/msg00032.html

- Fix parent/child relationship after parent dies.
  Addresses: https://cygwin.com/ml/cygwin/2019-09/msg00263.html

- Fix a security problem if Cygwin is installed into a path
  with spaces in it.
  Addresses: https://cygwin.com/ml/cygwin/2019-11/msg00018.html

- Fix an assertion failure when /cygdrive contains an offline network
  drive.
  Addresses: https://cygwin.com/ml/cygwin/2019-12/msg00016.html

- Fix return value of ilogbl for 0 input.
  Addresses: https://cygwin.com/ml/cygwin/2019-12/msg00074.html

- Let strtold set errno to ERANGE on underflow per POSIX.
  Addresses: https://cygwin.com/ml/cygwin/2019-12/msg00072.html

要在Windows中接受GCC跨平台编写翻译器的优势,请使用MinGW。

Cygwin使用安装向导程序setup.exe来贯彻cygwin的在线安装。
同期setup.exe文件能够重新安装软件,能够加多、订正或提高 Cygwin
配置的组件。

(文/开源中中原人民共和国卡塔尔国    

要使用Windows中的POSIX标准高等编制程序功能和工具的优势,请使用Cygwin。

维基百科说 :

MinGWCygwin 1.3.3本子中抽离出来。
即使CygwinMinGW都得以用来将UNIX软件移植到Windows ,但她俩有例外的主意: Cygwin对象是提供一个安然无事的POSIX layer ,提供Linux , UNIXBSD变种中留存的多少个种类调用和库的效仿。 POSIX layer运行在Windows上述,为了包容性而殉职品质。
因而,这种办法供给运用Cygwin编写的Windows程序运转在必需与程序一齐分发的copylefted宽容性库的最上端,以至程序的source code 。 MinGW目的在于通过一贯的Windows API calls提供原生的意义和性质。
Cygwin不同, MinGW无需宽容层DLL ,因而先后没有要求与source code二头分发。

由于MinGW依赖于Windows API calls ,由此不大概提供整机的POSIX API ;
它不能编写翻译一些得以用Cygwin编译的UNIX applications 。
具体来说,那适用于要求POSIX功能(如fork() , mmap()ioctl()以至期望在POSIX environment运作的应用程序。
使用本人已经移植到MinGWcross-platform library (例如SDL , wxWidgets , QtGTK+编辑的应用程序平时在MinGW编写翻译将像在Cygwin那样轻便。

MinGWMSYS的整合提供了四个微型自富含的情状,可以将其加载到可活动传播媒介上,而无需在注册表或微计算机上的文件中留给条款。 Cygwin Portable提供了相同的功用。
通过提供越来越多的作用, Cygwin设置和掩护变得愈加头眼昏花。

也可以MinGW-GCC under POSIX systemsMinGW-GCC under POSIX systems cross-compile Windows applications 。
那意味开采人士没有必要动用MSYS开展Windows安装来编译在并未有Cygwin场合下在Windows运营的软件。

从移植C程序的角度来看,通晓那几个的二个好办法就是举个例证:

#include <sys/stat.h>
#include <stdlib.h>

int main(void)
{
   struct stat stbuf;
   stat("c:foo.txt", &stbuf);
   system("command");
   printf("Hello, World\n");
   return 0;
}

假设我们把stat _stat ,大家得以用Microsoft Visual
C编写翻译那么些程序。大家也足以用MinGW和Cygwin来编写翻译那些顺序。

在Microsoft Visual
C下,该程序将链接到MSVC可再发行的周转时库: mxvcrtnn.dll ,其中nn是有些版本的后缀。
为了发表那一个顺序,我们将只好满含该DLL。
该DLL提供了_stat , systemprintf 。

在MinGW下,该程序将链接到msvcrt.dll ,这是四个里头的,未公开的,未版本化的库,是Windows的一片段,制止应用程序使用。
该库本质上是出自MS Visual
C的可再发行的运作时库的多个拨出,供Windows自己使用。

在此三种意况下,该安排将有周围的表现:

  • stat函数将赶回特别常有限的音讯 – 举例,未有有用的权柄或inode编号。
  • 依靠与驱动器c:相关联的当前工作目录来分析路线c:file.txt 。
  • system使用cmd.exe /c来运作外界命令。

大家也足以编写翻译Cygwin下的主次。 相同于MS Visual
C使用的可再发行的运作时,Cygwin程序将被链接到Cygwin的周转时库: cygwin1.dll (Cygwin
proper)和cyggcc_s-1.dll(GCC运营时协理)。
由于Cygwin今后在LGPL之下,就算它不是GPL包容的免费软件,大家也得以用大家的程序打包,并运营程序。

在Cygwin下,库函数的行为将有所差别:

  • stat函数具备丰硕的意义,在大多数字段中回到有含义的值。
  • 路径c:file.txt完全不驾驭为带有驱动器号援用,因为c:背后未有斜杠。
    冒号被以为是名字的一部分,并以某种方式损坏了它。
    在Cygwin中并未有针对卷或驱动器的相对路线的定义,没有“当前记下的驱动器”概念,也并未有各类驱动器当前的劳作目录。
  • system函数尝试选拔/bin/sh -c解释器。
    Cygwin将依靠你的可实践文件的职位来深入分析/路径,并希望sh.exe次第与你的可施行文件坐落于sh.exe位置。

Cygwin和MinGW都同意你利用Win32函数。
假若你想调用MessageBoxCreateProcess ,你能够这么做。
你也足以在MinGW和Cygwin下行使gcc -mwindows自在地创制二个没有必要控制台窗口的次序。

Cygwin不是严格的POSIX。 除了提供对Windows
API的拜候之外,它还提供了一部分Microsoft
C函数(在msvcrt.dll找到的东西或可重新分发的msvcrtnn.dll运转时)的亲善的达成。
二个例证正是spawn*系列的spawn*文山会海。
那个在Cygwin上行使实际不是forkexec是叁个好主意,因为它们越来越好地照耀到未有fork概念的Windows进度创制模型。

从而:

  • Cygwin程序并不及MS Visual C程序“本地化”,理由是内需库的陪同。
    Windows上的编制程序语言实现须求提供本身的运维时,以至是C语言完结。
    Windows上未曾“libc”供大伙儿选取。

  • MinGW无需第三方DLL的真实景况实际上是一个败笔,
    它决意于Visual
    C运维时的未公开的Windows内部分支。 MinGW那样做是因为GPL系统库非常适用于msvcrt.dll ,那象征能够运用MinGW编写翻译和再一次分发GPL编制程序的顺序。

  • 由于与msvcrt.dll对照,对POSIX的更布满和更加尖锐的辅助,Cygwin是从那之后移植POSIX程序的优胜条件。
    由于它今后在LGPL之下,所以它同意具有各个许可的应用程序(开放源代码或密封源代码)被重新分配。 Cygwin以致带有VT100仿真和termios ,它们与Microsoft调控台一同利用! 使用tcsetattr安装原始格局并行使VT100代码来决定光标的POSIX应用程序将要cmd.exe窗口中健康干活。 就最终客户来讲,那是贰个本机调节台应用程序,使Win32调用来决定调整台。

然而:

  • 作为叁个地点的Windows开垦工具,Cygwin有一点特别,比如Windows的外界路线管理,正视于像/bin/sh类的硬编码路线和其余难点。
    这一个出入是使Cygwin程序“非本地”的。
    如若程序将路线作为参数或从对话框输入,则Windows客商愿意该路径的行事措施与任何Windows程序中的路线相似。
    借使不这么做,那正是个难点。

插件:在LGPL发表后飞速,作者起步了Cygnal (Cygwin本地利用程序库)项目,以提供叁个意志力歼灭这一个题指标Cygwin
DLL的分层。
程序能够在Cygwin下支付,然后选拔Cygnal版本的cygwin1.dll张开布置,而无需再度编写翻译。
随着这一个库的改过,它将逐日扫除对MinGW的需要。

当Cygnal化解门路管理难题时,能够支付二个独自的可实施文件作为Windows应用程序与Cygnal一同利用时,与Cygwin的/usr/bin下安装Cygwin路线无缝工作与Windows路线。
在Cygwin下,可施行文件将透明地管理/cygdrive/c/Users/bob类的门路。
在Cygnal版本的cygwin1.dll链接的地尾计划中,该路径将尚未其余意义,而它将精晓c:foo.txt 。

不要忽略AT&T的U /
Win软件,该软件能够扶持您在Windows上编写翻译Unix应用程序(最新版本

  • 二零一三-08-06;使用Eclipse公共许可证,版本1.0)。

像Cygwin相通,他们必得跑到三个教室。 在他们的境况下POSIX.DLL 。
AT&T的工作人士是不行棒的程序员(相通的团伙给您带来了ksh和dot ),他们的事物值得一试。

Cygwin模拟整个POSIX情况,而MinGW只是编写翻译的一丁点儿工具集(编写翻译本地Win应用程序)。所以借让你想令你的品种跨平台,两者之间的挑肥拣瘦是断定的,MinGW。

虽说您或者会杜撰在Windows上行使VS,在Linux / Unices上接纳GCC。
大比超多开源项目都以那样做的(例如Firefox或Python)。

请当心,作用行为能够真正在两个之间变化。

比方说,Cygwin tar能够fork –
因为fork()在DLL中被扶助,而mingw版本则无法。
尝试从源代码编写翻译mysql时,那是一个难点。

要在经济贸易/专有/非开源应用程序中应用Cygwin,您必要从Red
Hat获得“ 许可证买断 ”的数万英镑;
那使正规许可条目款项以一定大的资金财产无效。
Google“cygwin许可证花费”,看到前多少个结果。

对于mingw,那样的老本是不会时有爆发的,许可证(PD,BSD,MIT)是丰裕包容的。
您至多可能内需为您的应用程序提供许可证详细音信,举例使用mingw64-tdm时所需的winpthreads许可证。

编写制定多谢Izzy朝阳花:商业许可证不再是可用的或需要的,因为在Cygwin的winsup子目录中找到的API库近期正在 LGPL下分发 ,并非完好的GPL。

Cygwin目的在于为Windows提供四个或多或少完整的POSIX景况,当中囊括一套分布的工具,目的在于提供一个整机的类Linux平台。
相比较之下,MinGW和MSYS提供了贰个轻量级的,极简主义的类POSIX层,独有像gccbash那样的更首要的工具可用。
由于MinGW更简约的点子,它不提供Cygwin提供的POSIX
API覆盖的品位,由此不可能创设某个能够在Cygwin上编写翻译的前后相继。

听别人讲两个生成的代码,Cygwin工具链正视动态链接到一个大的运行时库cygwin1.dll ,而MinGW工具链将代码编写翻译为二进制文件,动态链接到Windows本机C库msvcrt.dll以至静态地glibc有的。
Cygwin可实施文件因而更进一层紧凑,但须要独自的可再发行DLL,而MinGW二进制文件能够单独运营,但反复会越来越大。

依靠Cygwin的次第须求独自运营的DLL也会促成许可节制。
Cygwin运转时库在GPLv3下获得特许,对于有所OSI宽容许可的应用程序,链接例外,因此愿意围绕Cygwin创设闭源应用程序的开荒者必需从Red
Hat得到商业特许。
另一面,MinGW代码可以用于开放源码和查封源码的应用程序,因为头文件和库文件是被认同的。

Cygwin是叁个近乎于Unix的碰到和Microsoft
Windows的指令行分界面。

Mingw是GNU编译器集结(GCC)到Microsoft
Windows的原生软件端口,还或者有一套可随机分发的用于Windows
API的导入库和头文件。 MinGW允许开垦人士创设本机Microsoft
Windows应用程序。

如若持有须求的库(DLL)都设有,您就足以在不接受cygwin条件的景况下运维使用mingw变化的二进制文件。

Cygwin使用非常性层,而MinGW是本地的。 这是言人人殊的。

 

在 Windows 系统上开辟浏览器,通过拜访 下载
Cygwin 安装程序。安装程序本身相当的小(大概 600KB),因为半数以上 Cygwin
软件是在装置进度中下载的。完结下载之后,根据以下步骤安装 Cygwin:

  1 运转安装程序。
  图片 1
  2 单击 Next 步向下一个显示屏,选用要推行的设置类型。单击 Install
from Internet

  3 单击 Next,然后选拔多个设置目录。
  图片 2   
  在大多数情状下,推荐的安装选项是相当的,也得以拓宽定制,然则要介怀几点:   1)不要在 Windows 系统的根目录(例如 C:)中安装 Cygwin。最棒把
Cygwin 安装在它自身的子目录中,比方暗许目录(C:\cygwin)或 C:\Program
Files\cygwin。(您接纳的指标目录将变成模拟的 UNIX 蒙受的根目录
/。例如,如果在 C:\cygwin 中设置,那么虚构的 /usr/bin 实际上是
C:\cygwin\usr\bin) 。
  2)对于 Install For 选项,不要选拔 Just Me。   3)把 Default Text File 类型设置为
Unix,进而尽或许提升与其他 UNIX 机器上囤积的并存文件的包容性
  4 单击 Next。在下四个窗口中,选择叁个积存 Cygwin
所需的数量的目录。决不接受前一步中筛选的 Cygwin 目录。
如若恐怕的话,应该在有起码 1GB 空闲空间的驱动器上创立或采取三个索引。
  5 重新单击 Next,选拔使用的 Internet 连接类型。平常应该选拔Direct Connection。
      6 重复单击 Next。稍等说话,Cygwin
会下载当前的镜像站点列表,令你选用一个镜像站点,
  图片 3
  假使不明确相应采纳哪个站点,就筛选地理地方超级近的站点。
  7 再一次next,
经过短暂的延迟之后,安装程序突显可用的项目和包的完全列表。
  图片 4
  显示三个项指标一部分剧情。单击加号
(+卡塔尔国 张开对应的项目;单击 “循环” 标记在
Skip(忽视此包)和包的具备可用版本之间循环。借使 Cygwin
提供二个实用程序的两个版本,应该选用满意你的急需的实例。顺便说一下,如若选拔B 列,就能够下载二进制包;采纳 S,也会下载源代码。

在 Cygwin 中可用的包超过 1,000
个,所以应该只选取你需求的体系和包。(安装具备 Cygwin 包会占用当先 800MB
的磁盘空间)。今后任何时候能够拉长全套项目或独自的包:只需重国民党的新生活运动行 Cygwin
安装程序。(仍为能够在别的时候用相符的安装程序删除或更新包)。

  8 选取你必要的工具之后,单击 Next,下载进程开头!
  图片 5

进程条分别显示各样包的下载速度、总下载进程和磁盘使用量。

  9 最终,安装程序安装软件并(可选地)在 Start
菜单和桌面中增添飞快格局。单击 Finish

  10 通过使用 Start 菜单或双击 Cygwin
Logo(倘诺增加了这几个神速格局的话),运营 Cygwin;也足以实行 Cygwin
目录中的 Cygwin 脚本(举例 C:\cygwin\Cygwin.bat)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注