windows安装gcc

Posted on 2023-05-09 16:46  Frank_Jin  阅读(449)  评论(0编辑  收藏  举报

1.安装MinGW的方法跟官网走,很清晰,不会有错漏:MSYS2

注意上文中第5步打开的是ucrt64终端,而不是自动弹出的msys,否则gcc指令无效。

 

2.ucrt64终端那里,之前看vscode的官网教程没更新卡了好久,后来解决之后,专门去查了一下:

clang 和 gcc 是两个不同的 C/C++ 编译器,而 mingw-w64 是一个 Windows 上的编译和运行时环境。注意,mingw-w64 本身并不是一个编译器,而是一组库、头文件和实用工具。

gcc 需要 mingw-w64 环境才能在 Windows 上编译程序,加上最初(现已过时)的 mingw 项目就是专为 gcc 设计的,因此通常用 mingw64 代指 64 位的 gcc 和 mingw-w64 环境。

mingw64、ucrt64、clang64 都是 Windows 原生程序(不依赖 cygwin.dll),不过 mingw64 是很早就有的,后两者是最近(本回答最初写于2021年6月)才新加的,~~所以只是选一个用的话就 mingw64 就没问题。~~(划掉)

2022年11月25日更新:现在 msys2官方推荐优先选择 ucrt64,经过一年多时间,现在 ucrt64 环境已经非常稳定了,而且对 UTF-8 语言环境的支持更好。

后两者先后刚出来时我还查过,简而言之,这三者的区别是:mingw64 与 ucrt64 都是用 gcc 编译器编译的 Windows 64 位程序,只不过它们链接到的 crt(C runtime)不同, mingw64 是链接到了 msvcrt ,而 ucrt64 则是链接到了 Windows 上新的 ucrt 上。

而 clang64 很好理解,就是用 clang 而非 gcc 来编译各种库。另外它也是链接到了 ucrt 而非 msvcrt。

三者是共同点是,它们都需要 mingw-w64 环境来进行编译。

具体可以参考:https://www.msys2.org/docs/environments/