cpp环境搭建 - MinGW和cmake安装

MinGW

MinGW主要用于在Windows上使用gnu下的相关编译工具进行跨平台开发,比如:gcc。

MinGW已经停止更新很长时间了,它只支持编译32位程序,且提供的功能也很少。

 

MinGW-w64

MinGW-w64是MinGW的一个分支,它在MinGW的基础上,增加了编译64位程序的支持,也加入了更多的功能。

官网:MinGW-w64

源码:

1, MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.net

2, GitHub - mingw-w64/mingw-w64: (Unofficial) Mirror of mingw-w64-code

 

不同发行版的MinGW-w64

1) 基础版:

  下载地址:Releases · niXman/mingw-builds-binaries (github.com)

2) WibLibs版:在基础版之上,加入了更多gun工具集(如:llvm, clang, gdb等),以及更多的库(opengl, sdl, boost等),

  MinGW-w64可以在非Windows系统上编译Windows程序,但WinLibs主要用于在Windows上用gun工具集编译Windows程序。

  下载地址:WinLibs - GCC+MinGW-w64 compiler for Windows

  tips: 如果你想下载,运行时为msvcrt,但线程模型为windows的,可能就只能下载基础班的,WinLibs有的版本只提供posix线程模型的下载文件。

 

vc++这么强大,为什么要在Windows上用gnu工具来编译cpp?

因为github上很多的开源cpp项目都是用gnu工具来编译的,这样就省去自己重新在visual studio下重新搭建环境的麻烦了。

 

MinGW-w64下载文件该怎么选择

1) seh和sjlj 的选择,表示的是2种不同的异常模型

a) sjlj(SetJump / LongJump) :出来的比较早,c语言时代就有了,32和64位都支持

b) seh(Structured Exception Handling,结构化异常处理):出来的更晚一些,性能更好 ,只支持64位

一般64位选择seh

 

2) ucrt和msvcrt的选择

a) ucrt(Universal CRT):一个通用cpp运行库,更符合cpp标准,适用于Win10及以后的系统

b) msvcrt(Microsoft Visual C++ Runtime):传统cpp运行库,会有微软的一些专有实现,适用于所有的Windows版本

 

3) posix和win32的选择,表示不同的线程模型

a) posix:Posix规范的线程API,支持c++11/c11多线程。想跨平台或用到std:thread,选这个

b) win32:Windows原生线程API,不支持c++11/c11多线程。仅使用Win32 API来使用线程,选这个

c) mcf:Win7+专属轻量级线程API。针对Win7+优化或底层开发选这个

 

4) i686和x86_64的选择,表示不同的系统架构

a) i686:32位程序

b) x84_64:64位程序

 

这边我下载这个(github上的):

下载好后,直接解压到相关文件夹,然后将bin文件夹添加到环境变量即可

用cmd看下是否安装成功

 

 

【cmake】

cmake是一款构建工具,可以用于构建(Build) cpp,类似java的maven, ant这种

下载地址:Download CMake

官网:CMake - Upgrade Your Software Build System

 

我这边下载了一个老版本的

下载好后,直接解压到相关文件夹,然后将bin文件夹添加到环境变量即可

用cmd看下是否安装成功

 

 

在线安装

MinGW也有一个在线安装工具,不过只能装老版本了

MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 (681314.com)

 

 

参考

关于c ++:MinGW SEH和MinGW SJLJ有什么区别? | 码农家园 (codenong.com)

MinGw与Cygwin的区别 - lhlc - 博客园 (cnblogs.com)

Win10下的mingw-w64推荐使用winlibs发行版-CSDN博客

WinLibs简介及设计理念-CSDN博客

探索WinLibs_MingW:构建Windows上的开源C/C++环境-CSDN博客

MinGW 和 MinGW-w64 的介绍与配置-CSDN博客

Windows下MinGW-w64的安装 - 知乎

 

posted @ 2023-12-17 22:55  yanghui01  阅读(765)  评论(0)    收藏  举报