Windows 11安装 MinGW-w64 教程
Windows 11安装 MinGW-w64 教程
MinGW-w64是Windows平台下的一款重要开发工具,它提供了完整的GNU工具链支持,包括GCC编译器、GDB调试器等,能够帮助开发者在Windows系统上进行C/C++程序的开发。本文将详细介绍MinGW-w64的安装过程,帮助读者快速搭建开发环境。
MinGW简介
MinGW,全称“Minimalist GNU for Windows”,是一个提供在Windows操作系统上运行的GNU工具集的软件环境。它允许开发者使用GCC(GNU Compiler Collection)编译器来编译C和C++程序,以及其他GNU工具,如GDB调试器和GNU Make。
MinGW的主要特点包括:
- 兼容性:它提供了一个与GCC兼容的环境,使得在Linux下开发的代码可以相对容易地移植到Windows平台。
- 开源:MinGW是开源的,遵循GNU通用公共许可证。
- 跨平台开发:它允许开发者在Windows上编写跨平台代码,这些代码可以在多种操作系统上运行。
- 轻量级:MinGW的环境相对轻量,不需要安装完整的Cygwin环境,后者提供了一个更完整的类Unix环境。
- 易于安装和使用:MinGW的安装和配置相对简单,适合快速开始开发。
MinGW与MinGW-w64的区别
MinGW和MinGW-w64都是为Windows平台提供GNU工具链的软件环境,但它们之间有一些关键的区别:
MinGW:
MinGW代表“Minimalist GNU for Windows”,它提供了一个32位的GNU工具链,包括GCC编译器。
它支持32位应用程序的开发,但不支持64位应用程序。
MinGW通常用于开发小型的、不需要64位特性的应用程序。
MinGW-w64:
MinGW-w64是MinGW的扩展,它不仅支持32位应用程序,还支持64位应用程序的开发。
它提供了对64位Windows API的支持,允许开发者编写可以在64位Windows系统上运行的应用程序。
MinGW-w64的GCC编译器可以生成32位和64位的可执行文件,这取决于你如何配置编译器。
它通常用于开发需要利用64位系统优势的现代应用程序,例如处理大量数据或需要高性能的应用程序。
选择MinGW还是MinGW-w64:
- 如果你只需要开发32位的应用程序,MinGW可能就足够了。
- 如果你需要开发64位应用程序,或者你的应用程序需要使用64位系统的特性(如更大的内存寻址空间),那么MinGW-w64是更好的选择。
MinGW-w64安装过程
- 访问MinGW-w64官方网站:https://www.mingw-w64.org/
- 点击Sources页面,选择SourceForge。
- 点击SourceForge,跳转到如下网址界面,可以选择下载最近的版本,或者点击下面的在线安装。
点击下载下来的exe文件,进行安装。如果遇到“cannot download repository.txt”的提示,可以尝试挂梯子或以管理员身份运行,但有时可能仍然无法解决。
如果在线安装失败,可以下载离线包进行安装。解压后,将文件夹放到合适的位置。例如,选择
x86_64-posix-seh
版本,这是一个特定于Windows平台的GCC目标三元组,表示编译器应该生成适用于Windows 64位系统上的程序,并使用SEH(Structured Exception Handling)作为异常处理机制。
- msvcrt和ucrt的区别:
- MSVCRT (Microsoft Visual C++ Runtime):这是传统的C运行时库,它在所有版本的Windows上都可用。但由于向后兼容性问题,MSVCRT并不完全兼容C99标准,缺少一些特性,例如对UTF-8 locale的支持。MSVCRT是MinGW-w64的默认运行时库,它允许程序在所有Windows版本上运行,但可能不会利用最新的C语言特性和性能改进。
- UCRT (Universal C Runtime):这是微软提供的更新版本的C运行时库,它首次包含在Windows 10中,并且可以通过更新的方式安装在早期的Windows版本上。UCRT旨在提供更好的标准化支持,包括对C99和C11标准的支持。它也提供了更好的与MSVC编译器的兼容性,无论是在编译时还是在运行时。UCRT作为Windows组件,可以通过Windows Update自动接收更新,这意味着用户无需单独安装或更新UCRT。
- 解压下载好的离线包,将其放到合适位置,例如拷贝到C盘。
- 配置环境变量:在系统环境变量中,path目录里新建一行,将mingw64里bin目录的路径添加进去。
- 可能会发现系统环境变量中已经存在MinGW(32位)的路径,这是因为在安装Anaconda3时可能已经包含了MinGW-w64。可以通过以下命令验证当前使用的GCC版本:
gcc -v
如果显示的是32位的MinGW,可以考虑删除32位的MinGW,以避免混淆。
删除32位MinGW,同时删除系统环境变量中对应的路径。再次运行
gcc -v
命令,确认显示的是64位的MinGW-w64。安装完成✅,现在可以利用MinGW-w64编译各种开源项目了,比如x264、FFmpeg等。