Cygwin通过cygwin1.dll模拟POSIX层,MinGW-w64则生成原生Windows可执行文件;前者适合类Linux环境开发,后者适合分发独立程序。

如果您希望在Windows系统上获得类Unix的开发环境,Cygwin和MinGW是两个常用选择。它们分别通过不同机制提供POSIX兼容性与原生Windows API调用支持。以下是安装与使用这两种工具的具体步骤:
一、安装Cygwin
Cygwin通过动态链接库cygwin1.dll模拟POSIX层,使Linux风格的命令行工具和开发工具能在Windows上运行。安装过程需下载官方安装程序并按需选择软件包。
1、访问Cygwin官网https://www.cygwin.com/,点击“Install Cygwin”下载setup-x86_64.exe(64位系统)或setup-x86.exe(32位系统)。
2、双击运行安装程序,选择“Install from Internet”,点击“Next”。
3、指定本地软件包存放目录(如C:\cygwin64\packages),点击“Next”。
4、选择根安装目录(默认C:\cygwin64),点击“Next”。
5、选择网络连接方式,保持默认“Direct connection”,点击“Next”。
6、在镜像站点列表中任选一个(如http://cygwin.mirror.constant.com),点击“Next”。
7、在包选择界面,展开“Devel”类别,勾选gcc-g++、make、gdb、git、vim等核心开发组件;可同时勾选“Net”下的openssh以启用SSH功能。
8、点击“Next”开始下载并安装所选包,完成后勾选“Create icon on Desktop”,点击“Finish”。
二、启动并配置Cygwin终端
安装完成后,Cygwin提供bash shell环境,其路径解析、权限模型和行为接近Linux。首次运行时需初始化用户账户并设置环境变量。
1、双击桌面Cygwin Terminal图标,启动bash会话。
2、首次运行时自动创建当前Windows用户的Cygwin主目录(如/cygdrive/c/Users/YourName/home/YourName)。
3、编辑~/.bashrc文件:运行vim ~/.bashrc,在末尾添加别名或PATH扩展,例如:export PATH="/usr/local/bin:$PATH"。
4、执行source ~/.bashrc使配置立即生效。
5、验证GCC安装:输入gcc --version,确认输出版本信息。
三、安装MinGW-w64(推荐替代方案)
MinGW-w64不依赖第三方DLL,直接编译生成原生Windows PE格式可执行文件,更适合需要分发独立二进制程序的场景。MSYS2是其主流集成分发版,包含包管理器pacman和完整开发工具链。
1、访问https://www.msys2.org/,下载最新msys2-x86_64-*.exe安装程序。
TGroupon团购系统是以php+MySQL进行开发的团购网站系统,首页能同时显示多个正在进行中的团购商品,将团购中的商品最大限度的展示在用户面前,对提升网站整体销售量有着很大的帮助。安装说明:1:环境:windows/LINUX/UNIX/apache,mysql,php2:所用语言: php,javascript,xml,html3:将程序放置空间或者服务器上,要求uploadfiles目录
2、运行安装程序,选择安装路径(建议不含空格和中文,如C:\msys64),勾选“Run MSYS2 now”,点击“Next”。
3、首次启动后,执行pacman -Syu更新基础系统;若提示重启终端,关闭后重新运行MSYS2 UCRT64(推荐用于现代开发)。
4、再次运行pacman -Su完成剩余更新。
5、安装开发工具集:在UCRT64终端中运行pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain。
6、该命令将安装gcc、g++、make、cmake、gdb、pkg-config等,默认位于/mingw64/bin/目录下。
四、使用MinGW-w64编译C程序
MinGW-w64工具链通过前缀区分目标平台,UCRT64环境使用x86_64-w64-mingw32-系列命令,确保链接正确的运行时库。
1、在UCRT64终端中创建测试目录:mkdir ~/hello && cd ~/hello。
2、创建源文件:echo '#include
3、使用MinGW-w64 GCC编译:x86_64-w64-mingw32-gcc -o hello.exe hello.c。
4、运行生成的可执行文件:./hello.exe,观察控制台输出。
5、检查依赖:运行ntldd hello.exe,确认仅链接ucrtbase.dll等系统级DLL,无第三方运行时依赖。
五、切换与调用不同环境的Shell
MSYS2提供多个子系统终端,各自隔离环境变量与工具路径。正确选择终端类型可避免工具链冲突或路径解析异常。
1、UCRT64(推荐):对应mingw-w64-ucrt-x86_64-*工具链,使用UCRT运行时,适用于新项目开发。
2、MINGW64:对应mingw-w64-x86_64-*工具链,使用MSVCRT运行时,兼容旧版Windows XP(已不推荐)。
3、MSYS2:提供POSIX仿真层,含autoconf/automake等构建工具,适合编译依赖configure脚本的开源项目。
4、从Windows命令行直接调用MinGW工具:将C:\msys64\mingw64\bin加入系统PATH,之后可在cmd或PowerShell中直接使用gcc命令(注意此操作可能覆盖其他GCC安装)。
5、验证当前终端类型:在任意MSYS2终端中运行uname -m && echo $MSYSTEM,输出x86_64与UCRT64表示处于正确环境。










