mingw-w64的安装
MinGW全称是Minimalist GNU on Windows,也就是将Linux/Unix环境下赫赫有名的GCC编译器以及其相关的编译调试组件移植到了Windows上。
网页地址 https://www.mingw-w64.org/
github地址 https://github.com/niXman/mingw-builds-binaries/releases
1.访问https://www.mingw-w64.org/,来到工具下载页面

点击Downloads,再点击Pre-built Toolchains来到下载页,windows用户选择MinGW-W64-bulids

点击后会跳转到如下界面,可以继续点击前往gitHub。
上述从网页访问github,等价于访问地址:
https://github.com/niXman/mingw-builds-binaries/releases

版本参数解释
14.2.0
是GCC的版本号;
目标操作系统和API风格
i686
32位的操作系统,选择i686,64位的操作系统,选择x86_64;
posix
这是为类Unix系统(如Linux和macOS)设计的API风格。如果你的程序需要在这些系统上运行,或者你的代码依赖于POSIX API,你应该选择带有posix的工具链。
win32
这是为Windows系统设计的API风格。如果你的程序主要面向Windows用户,或者你的代码依赖于Windows特有的API,你应该选择带有win32的工具链。
异常处理机制
sjlj
表示这个工具链使用“Setjmp/Longjmp”异常处理机制。SJLJ是一种更传统的异常处理方式,它通常用于那些不支持或不完全支持Windows结构化异常处理(SEH)的操作系统。
seh
表示这个工具链使用Windows的结构化异常处理(Structured Exception Handling, SEH)。SEH是Windows平台上常用的异常处理机制,它提供了更丰富的异常信息和更灵活的异常处理逻辑。如果你的代码需要与Windows平台的特性紧密集成,或者你的程序主要运行在Windows上,SEH可能是一个更好的选择。
运行时库
ucrt
是Universal C Runtime的缩写,它是Windows 10及更高版本中包含的一个新运行时库。它提供了与操作系统更紧密集成的API,并通常用于更现代的Windows应用程序。
如果你的目标平台是Windows 10或更高版本,并且你希望利用最新的API和功能,ucrt可能是一个好选择。
msvcrt
是Microsoft C Runtime的缩写,它是Microsoft提供的传统C运行时库。
它提供了广泛的API支持,包括一些旧的、可能不再常用的API。
如果你的代码依赖于msvcrt特有的API,或者你需要确保你的程序能在较旧的Windows版本上运行,msvcrt可能更适合你。
rt_v11
通常指的是“runtime”,即运行时库版本号。
压缩格式
.7z
这是文件的压缩格式。.7z是7-Zip压缩工具使用的文件格式。它表示文件已经被压缩,以减小文件大小,方便下载和存储。要使用文件中的内容,用户通常需要使用7-Zip或其他兼容的压缩工具来解压缩文件。
根据 您的系统选择对应版本,例如本人win10,下载后解压目录如下

1.3 环境变量配置
下载并解压完成后,下面是重要的配置环境变量环节,理论上两个Path都可以,用户级别限制单一用户访问,系统级别则是对所有用户开放。
使用 CMake 指定 MinGW 编译器,并配置编译选项:cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DNCNN_BUILD_EXAMPLES=ON ..
选项说明:
-G "MinGW Makefiles":指定生成 MinGW 兼容的 Makefile。
-DCMAKE_BUILD_TYPE=Release:编译 release 版本(优化性能)。
-DNCNN_BUILD_EXAMPLES=ON:可选,编译示例程序(方便测试)。
编译源码执行以下命令开始编译(-j 后面的数字表示并行编译的线程数,可根据 CPU 核心数调整)
mingw32-make -j4
编译完成后,会在 build\install\lib 生成库文件,build\install\include 生成头文件。
若需要将 ncnn 安装到系统目录(或指定目录),执行:
mingw32-make install