Cygwin

来自osdev
Zhang3讨论 | 贡献2022年3月31日 (四) 00:50的版本 (创建页面,内容为““Cygwin”是两个东西。 首先,它是在Windows之上实现大部分POSIX API的一些DLL,因此可以轻松地将GNU/Linux工具移植到Windows。 但从更广泛的意义上讲,它也是一个安装程序,用于在你的Windows机器上下载和安装各种此类移植工具,包括bash shell,GCC工具链,Apache,PostgreSQL和许多其他有价值的程序。 因此,它使Windows的操作系统开发人员能够使用与Linux下的操…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

“Cygwin”是两个东西。 首先,它是在Windows之上实现大部分POSIX API的一些DLL,因此可以轻松地将GNU/Linux工具移植到Windows。

但从更广泛的意义上讲,它也是一个安装程序,用于在你的Windows机器上下载和安装各种此类移植工具,包括bash shell,GCC工具链,Apache,PostgreSQL和许多其他有价值的程序。 因此,它使Windows的操作系统开发人员能够使用与Linux下的操作系统开发人员相同的工具集。

使用Cygwin

Cygwin安装程序提供了向 “开始” 菜单或桌面添加快捷图标的功能。 点击它,你会得到一个控制台,实际上是一个bash shell。 Cygwin下的/cygDrive/<letter>/相当于Windows下的<letter>:\。

默认情况下,Cygwin安装程序不安装GCC。 只要重新启动安装程序,并从“devele”组选择GCC(如果你想做C++,G +)。 还要下载binutils,因为许多应用程序都需要这样做。(以及你想要的任何其他工具;建议的最小工具集是make、rcs、cvs和openssh。)

安装程序完成后,你只需从gcc.gnu.org找到GCC手册 (或在Cygwin shell中执行 “info GCC” 操作),然后就可以快乐的探索了。

Cygwin已知问题

某些应用程序可能无法使用Cygwin进行编译,并出现以下错误: "default file extension - cannot create executables" 或 "cannot find crt2.o" 或 "cannot find -lmingw".

出现这些提示消息的原因是,似乎因为在 “核心” Cygwin文件 安装“之后”,又安装了一些其它实用程序,弄乱了Cygwins指向其默认库的指针。 解决方案是启动Cygwin安装程序,并选择以下四个软件包重新安装:

      libs/mingw-runtime
      devel/gcc-mingw-core
            gcc-mingw-gpp++
            mingw-runtime

点击每个程序包旁边的“保留”,将选项更改为“重新安装”。 然后点击下一步,下一步...库将被重新安装。

当Cygwin安装程序启动时,选择“从本地目录安装”而不是“从Internet安装”,可以加快重新安装的速度。 这将使用你计算机上已有的包,每次从Internet安装将确保安装任何可用的更新。

更新后,Cygwin可能会 “破坏” 自己的可能性很小,但是按照此过程后,你应该可以重新开始工作。

除自制操作系统外使用Cygwin

如果你不仅仅是进行操作系统开发,有几个关于Cygwin的警告,让它的“Windows上的POSIX”方案不那么完美。 当使用Cygwin链接Windows应用程序时,要慎重考虑许可证问题

  • 链接到Cygwin DLL(POSIX API)会使你的代码在发布时属于GPL许可,并且依赖于系统中存在的Cygwin DLL;
  • 链接到标准的msvcrt.dll(Win32 API)使许可决定权掌握在你手中,并使你的代码独立于Cygwin DLL。 这里没有POSIX。

如果你打算使用Cygwin gcc来构建软件,那么应该查看“win32”和“no Cygwin”选项的置换。

外部链接

http://www.cygwin.com/ - Cygwin环境官方网站