win10安装MinGW-W64的⼀点⼼得
: Minimalist GNU for Windows的缩写,是原⽣ Microsoft Windows 应⽤程序的极简开发环境。编译⽬标仅兼容 32 位应⽤程序,⽬前最新的官⽅⼆进制版本为 GCC 9.2.0。
: 衍⽣⾃ MinGW 的项⽬,编译⽬标兼容 32 位应⽤程序与64 位应⽤程序,⽬前最新的官⽅⼆进制版本为 GCC 8.1.0。()
: 衍⽣⾃ MinGW 和 MinGW-w64 的项⽬,分为 32 位与 64 位两个版本,32 位版本的编译⽬标仅兼容 32 位应⽤程序,64位版本的编译⽬标兼容 32 位应⽤程序与 64 位应⽤程序,⽬前最新的官⽅⼆进制版本为 GCC 10.3.0。
以上三个 GCC 编译器的 Windows 发⾏版均兼容 POSIX 线程标准 。("pthread.h")
---------------------------------------------------------------------------------------------------------------------------------
若是安装,如下图所⽰点击Install并选择路径。
将Basic Setup中的Package都打上勾(实际上并不是所有的Package都有⽤,⽆脑操作的话就都勾上)。关于每个Package的作⽤后⾯会给出。
选择的⽅法:点击对应的Package,选择Mark for Installation(这⾥我已经安装过了,所以这个选项不可⽤)。
点击Installation->Apply Changes.如下图所⽰(我已经安装过了,所以选项不可⽤)。
然后可以参考下⾯步骤⼆、配置MinGW-w64路径和步骤三、验证安装。
注: MinGW安装时每个package下的意义
MinGW
---- MinGW Base System
-------- MinGW Compiler Suit
------------ mingw32-binutils 必选,⽤于编译⽣成的 .o ⽂件的链接、汇编、⽣成静态库等。
------------ mingw32-gcc 必选,核⼼的 C 编译器。
------------ mingw32-gcc-ada 可选,Ada 编译器。
------------ mingw32-gcc-fortran 可选,Fortran 编译器。
------------ mingw32-gcc-g++ 建议,C++ 编译器。
------------ mingw32-gcc-objc 可选,Objective-C 编译器。
-
----------- mingw32-gcc-v3-* 不建议,第三版 GCC 编译器。
------------ mingw32-libgcc 必需,C 编译器编译出来的程序的运⾏库。
------------ mingw32-libgfortran 可选,如选择了 Fortran 编译器,则必选,Fortran 运⾏库。
------------ mingw32-libgnat 可选,如选择了 Ada 编译器,则必选,Ada 运⾏库。
------------ mingw32-libobjc 可选,如选择了 Objective-C 编译器,则必选,Objective-C 运⾏库。------------ mingw32-libstdc++ 可选,如选择了 C++ 编译器,则必选,C++ 运⾏库。
------------ mingw32-libgomp 可选,GNU OpenMP 库,⾼精度运算。
------------ mingw32-libquadmath 可选,QuadMath 库,数学运⾏。
------------ mingw32-libssp 可选,StackProtect 库,栈保护。
------------ mingw32-mingwrt 必选,MinGW ⼯具的运⾏库。
------------ mingw32-w32api 必选,运⾏ Windows 程序所必需的 DLL ⽂件。
-------- MinGW Source-Level Debugger
------------ mingw32-gdb 可选,GNU Debugger,命令窗⼝的调试器。
-------- MinGW Standard Libraries
------------ mingw32-gmp 可选,GNU 多精度运算库。
------------ mingw32-libgmp 可选,GMP 库的 DLL ⽂件。
------------ mingw32-libgmpxx 可选,GMP 库⽤于 C++ 的 DLL ⽂件。
------------ mingw32-mpfr 可选,MPFR 多精度运算库。
------------ mingw32-libmpfr 可选,MPFR 多精度浮点运算库的 DLL ⽂件。
------------ mingw32-mpc 可选,MPC 多精度运算库。
------------ mingw32-libmpc 可选,MPC 多精度浮点运算库的 DLL ⽂件。
------------ mingw32-libpthread-old 可选,旧版本的 POSIX 线程库的 DLL ⽂件。
------------ mingw32-libpthreadgc 可选,标准的 POSIX 线程库的 DLL ⽂件。
-
----------- mingw32-libpthreadgce 可选,使⽤ C++ 异常处理的 POSIX 线程库的 DLL ⽂件。
------------ mingw32-libquserex 可选,⽤于内核态的 POSIX 线程库的 DLL ⽂件。
------------ mingw32-libz 可选,zlib 库,⽤于 Zip 压缩及解压。
------------ mingw32-mingwrt 必选,MinGW 的开发库。
------------ mingw32-pthreads-w32 可选,POSIX 线程库的开发⽂件。
------------ mingw32-w32api 必选,Win32 SDK 的开发库。
---- MinGW Libraries
-------- MinGW Supplementary Libraries
------------ mingw32-lua 可选,Lua 语⾔的编译器、运⾏库等。
-------- MinGW Contributed Libraries
------------ mingw32-libunistring 可选,Unicode 字符串处理库。
-
--- MinGW Contributed
-------- MinGW Contributed Applications
------------ mingw32-tcl 可选,Tool Command Language,tcl 语⾔。
------------ mingw32-tk 可选,tcl 语⾔的图形⽤户界⾯。
------------ mingw32-xerces-c 可选,Xerces-C++ XML 解析库。
---- MinGW Autotools
-------- mingw32-autoconf 可选,⽤于 MSYS,Autoconf 的封装脚本
-------- mingw32-autoconf2.* 可选,最好全选,⾃动配置脚本⽣成⼯具。
-------- mingw32-automake 可选,⽤于 MSYS,Automake 的封装脚本
-------- mingw32-automake1.* 可选,最好全选,⾃动 Makefile ⽣成⼯具。
-------- mingw32-autotools 可选,⽤于 MSYS,⾃动选择 autoconf automake 等 Package。
-vim编辑器下载与安装
------- mingw32-gettext 建议,GNU 软件国际化(即多语⾔)库。
-------- mingw32-libasprintf 建议,GNU 软件国际化库。
-------- mingw32-libcharset 可选,字符集转换库。
-------- mingw32-libgettextpo 建议,GNU 软件国际化(即多语⾔)库。
-------- mingw32-libiconv 可选,字符集转换库。
-------- mingw32-libintl 建议,GNU 软件国际化库的运⾏时 DLL ⽂件。
-------- mingw32-libltdl 可选,可移植的 dlopen 替代库。
-------- mingw32-libtool 可选,共享库⽣成⼯具。
--------------------------------------------------------华丽的分隔线-------------------------------------------------------
MSYS
---- MSYS Base System
-
------- msys-base 可选,⾃动选择 MSYS 开发环境所需的⼀般的 Package。
-------- msys-bash 必选,Bash (Bourne Again SHell),脚本解释器。
-------- msys-bzip2 建议,bzip2 ⼯具及开发库、运⾏库。
-------- msys-core 必选,MSYS 核⼼⽂件。
-------- msys-coreutils 必选,MSYS 核⼼⼯具。
-------- msys-diffutils 建议,⽂件差别⽐较⼯具。
-------- msys-dos2unix 可选,将 DOS (即 Windows) 换⾏符转换为 Unix 换⾏符。
-------- msys-file 可选,判断⽂件类型的⼯具。
-------- msys-findutils 建议,查⽂件的⼯具。
-------- msys-gawk 建议,字符串型 (Pattern) 扫描和处理语⾔的解释器。
-------- msys-grep 建议,打印匹配型 (Pattern) 的字符串的⼯具。
-
------- msys-gzip 建议,gzip ⼯具及开发库、运⾏库。
-------- msys-less 建议,命令⾏的⽂本查看器。
-------- msys-locate 可选,基于数据库的 'find' ⼯具。
-------- msys-m4 建议,GNU 宏处理器。
-------- msys-make 建议,GNU Make ⼯具。
-------- msys-patch 建议,⽂件打补丁⼯具。
-------- msys-sed 建议,GNU 流编辑器。
-------- msys-tar 建议,GNU Tar ⽂件打包⼯具。
-------- msys-termcap 建议,终端数据库。
-------- msys-texinfo 建议,显⽰帮助⽂件的⼯具。
-------- msys-tiny 可选,⾃动选择 MSYS 所需的最少 Package。
-
------- msys-xz 建议,lzma ⼯具及开发库、运⾏库。
---- MinGW Developer Toolkit
-------- mingw-developer-toolkit 建议,⾃动选择 MSYS 环境下⽤于 MinGW 开发所需的 Package。
-------- msys-autogen 建议,简化程序的⽣成,配合 autotool 使⽤。
-------- msys-bison 建议,GNU 语法分析器⽣成器。
-------- msys-bsdcpio 可选,BDS 版的 cpio ⼯具。
-------- msys-bsdtar 可选,BSD 版的 tar ⼯具。
-------- msys-cvs 可选,CVS 版本控制⼯具。
-------- msys-diffstat 可选,diff ⼯具⽣成⽂件的查看器。
-------- msys-flex 建议,快速词汇分析器⽣成器,⼀般和 bison ⼀起使⽤。
-------- msys-guile 建议,Scheme 解释器和库。
-
------- msys-help2man 可选,⽣成 man 页⾯。
-------- msys-inetutils 可选,通⽤⽹络客户端,包括 telnet ftp 等。
-------- msys-libopenssl 建议,OpenSSL 库。
-------- msys-lndir 可选,Xorg 递归⽬录符号链接⼯具。
-------- msys-mksh 可选,MirBSD Korn Shell,脚本解释器。
-------- msys-mktemp 可选,创建临时⽂件或⽬录。
-------- msys-openssh 建议,OpenSSH,SSH 客户端。
-------- msys-openssl 建议,OpenSSL ⼯具。
-------- msys-perl 建议,Perl 解释器。
-------- msys-rsync 建议,⽂件传输程序。
-------- msys-vim 可选,控制台下的⽂件编辑器。
-
--- MSYS System Builder
-------- 这个是⽤于编译⽤于 MSYS 系统的程序的编译器,⼀般不需要。
---------------------------------------------------------------------------------------------------------------------------------以下以安装MinGW-W64进⾏说明。
⼀、安装MinGW-W64
⽅法1. 下载MinGW-W64 Online Installer(在线安装器)
① 选择Downloads,进⼊ MinGW-w64 下载详情页⾯。
② 点击SourceForge,进⼊MinGW-w64 下载页⾯。
③ 下拉⾄底部选择“”超链接,将会⾃动下载MinGW-W64 在线安装器。
④ 若⼀直下载不动,可尝试点击下图中红⾊⽅框。
更换其它镜像(下图为翻译成中⽂后的页⾯)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。