0

0

如何在Windows上安装和使用Cygwin或MinGW【开发环境】

月夜之吻

月夜之吻

发布时间:2026-01-01 01:07:33

|

575人浏览过

|

来源于php中文网

原创

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

如何在windows上安装和使用cygwin或mingw【开发环境】

如果您希望在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团购系统
TGroupon团购系统

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 \nint main(){printf("Hello from MinGW-w64!\\n");return 0;}' > hello.c

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表示处于正确环境。

相关文章

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

72

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

276

2023.11.28

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

637

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

524

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

262

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

538

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

511

2024.04.09

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

515

2023.07.26

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.3万人学习

Git 教程
Git 教程

共21课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号