win10/win11安装MinGW-w64(转)

add by zhj: 我之前在Windows上将C代码转为动态链接库(so文件),使用的就是MinGW中的gcc,使用gcc demo.c -shared -o demo.so可以将demo.c转为so文件,然后在Python中调用so文件。

原文:https://blog.csdn.net/qq_44918090/article/details/132190274

作者:森明帮大于黑虎帮

来源:CSDN

 

1、MinGW的定义

MinGW(Minimalist GNU for Windows)是一个用于Windows 平台的开发工具集,它提供一组GNU工具和库,包括 gcc(GNU Compiler Collection)和 g++(GNU C++ Compiler)等编译器,链接器和工具。用户通过MinGW可以将C、C++等程序代码编译成so库,可执行文件等,就像在 Unix/Linux 环境下一样。

MinGW 的目标之一是提供一个轻量级的开发环境,使开发者能够在 Windows 上编写和编译原生的 C/C++ 程序,而无需依赖于大型的集成开发环境(IDE)。开发者可以在命令行中使用 gcc 和 g++ 命令来编译和链接程序,也可以配合其他文本编辑器进行开发。

总之,MinGW 是在 Windows 平台上使用 gcc 和 g++ 等 GNU 工具的一种方式,适用于希望在 Windows 上进行 C 和 C++ 开发的开发者。

 

2、MinGW的主要组件
GCC(GNU Compiler Collection): GCC 是一个开源的编译器套件,支持多种编程语言,包括 C、C++、Fortran 等。在 MinGW 中,GCC 被用来编译和生成 Windows 平台下的可执行文件。

Binutils:Binutils 是一组用于处理二进制文件的工具,包括汇编器、链接器、目标文件处理器等。在 MinGW 中,Binutils 用于将编译后的源代码转换为可执行文件。

运行时库(Runtime Libraries): MinGW 提供了 Windows 下所需的 C 和 C++ 运行时库,这些库是在编译和链接时所需要的,以便在 Windows 环境下运行程序。

MSYS(Minimal SYStem): MSYS 是一个轻量级的 Unix-like 环境,它在 Windows 上提供了一些基本的 Unix 命令行工具,使开发者能够更方便地使用命令行进行开发和构建。

MinGW 可以与其他开发工具集(如 Visual Studio)一起使用,但它的重点是提供一个简单的方式来在 Windows 上进行开发,无需依赖复杂的集成开发环境(IDE)。MinGW 的使用可以让开发者更接近标准的开发环境,同时也方便了跨平台的开发。

需要注意的是,MinGW 与 MSYS2 是两个不同的项目,虽然它们的名称和目标相似,但有一些区别。MSYS2 在 MinGW 的基础上提供了更先进的包管理系统和一些额外的工具,使得在 Windows 上的开发更加便捷。

 

3、MinGW-w64下载与安装
3.1、下载解压安装地址
官方下载网站:MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net。

 

在这个页面下方找到最新版:

 

x86_64是指64位的操作系统,i686是指32位的操作系统。现在系统都是64位操作系统,所以选择x86_64。

win32是开发windows系统程序的协议,posix是其他系统的协议(例如Linux、Unix、Mac OS)。

异常处理模型 seh(新的,仅支持64位系统),sjlj (稳定的,64位和32位都支持), dwarf (优于sjlj的,仅支持32位系统)

点击链接等待5秒就可以下载了。

 

解压完毕差不多就是这个样子:

 

然后再bin目录里面就可以找到g++.exe或者gcc.exe:

 

3.2、MinGW-w64环境变量的设置

将上面提到的mingw64的bin目录添加到系统变量Path中

 

4、验证MinGW是否安装成功

打开cmd或powershell,输入gcc -v 或者g++ -v 或者 gcc --version 或者 g++ --version:

 

 


5、编写一段简单的代码验证下
- 在这个目录下或者任意目录下新建一个main.cpp:

 


代码如下:

#include<iostream>
#include<stdio.h>
int main(){
    std::cout<<"mingw"<<std::endl;
    printf("mingw\n");
    return 0;
}

 

在这个路径下输入cmd进入命令行模式:

 

输入g++ maiin.cpp就会生成a.exe:

 

直接 a.exe,就会输出结果:

 

 

————————————————
版权声明:本文为CSDN博主「森明帮大于黑虎帮」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44918090/article/details/132190274

posted @ 2024-01-11 21:03  奋斗终生  Views(860)  Comments(0Edit  收藏  举报