Mingw是一个Windows平台上的编译器,它可以将C/C++代码编译成Windows可执行文件。它是一个开源的软件,可以免费使用。但是有时候在安装mingw后,会出现没有gcc的情况。
首先,要检查mingw是否正确安装。如果mingw已正确安装,则应在“开始”菜单中看到mingw文件夹。如果没有看到mingw文件夹,则表明mingw尚未正确安装。因此,应重新安装mingw。
其次,要检查gcc是否已正确安装。在命令行中输入“gcc -v”来查看gcc版本信息;如果出现错误信息,则表明gcc尚未正确安装。因此应重新安装gcc。
1. 在浏览器中打开https://sourceforge.net/projects/mingw/files/latest/download 下载 mingw-get-setup.exe 文件 2. 双击 mingw-get-setup.exe 文件进行 MingW 的安装 3. 选中 mingw32-base 和 mingw32-gcc-g++ 两个包进行安装 4. 等待 MingW 的安装过程 5. 安装成功后在命令行中输入 gcc -v 来验证 gcc 是否已成功安装
MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上的 Windows OS 有效,使用基本运行时,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时(C Runtime)扩展,与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 WindowsAPI功能(该段内容来自百度百科)。
MinGW-w64是MinGW的64位版本,MinGW在多年前就已经将开发精力转移到64位系统上了,32位MinGW多年未曾更新了。以下的安装过程都建立在64位系统的基础上进行。
可以前往MinGW的官网进行下载:https://www.mingw-w64.org/downloads/
MinGW将其托管到sourceforge上了,也可以前往sourceforge下载:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/?tdsourcetag=s_pctim_aiomsg
在sourceforge上下载的话选择install.exe文件下载,本文接下来采用的就是这种方式。使用可执行安装文件进行安装对新手来说比较友好。也可以采用免安装的形式来下载安装MinGW。最后,如果使用带MinGW的codeblock,可以直接跳到环境变量配置过程。
下载完install.exe文件后运行该软件,进入如下页面:
点击next进入安装配置;
选择安装的MinGW版本号,没有特殊要求的话(如果只是为了学习)直接安装最新版本即可:
选择系统架构,X86_64是64位系统,i686是32位系统。
选择操作系统接口协议:开发类Unix(linux,macOS,Unix等)系统的程序选择posix,开发Windows程序的选择win32即可。
选择异常处理类型:异常处理在开发中非常重要,在开发的过程中,大部分的时间会耗在处理各种异常情况上。seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。建议64位操作系统选择seh。
选择安装路径,点击next即可进入安装过程(需要联网下载MinGW的相应数据)。
安装完成后可以到相应的安装路径下看到这样的文件夹:
我们可以直接下载相应的MinGW的压缩包,解压也可得到上面安装后的文件夹。以上述的安装版本为例,我们要选择的安装版本如下图所示:
安装完MinGW后需要进行环境变量的配置,在环境变量中的path
变量中添加上面文件夹内的bin
文件夹即可:
在命令提示符中输入gcc-v或者g++ -v,如果有输出内容,则证明配置成功。
如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下: struct{unsigned int widthValidated;unsigned int heightValid...
Serializablepublic interface Serializable类的可序列化性由实现 java.io.Serializable 接口的类启用。未实现此接口的类将不会...
FilePermissionjava.lang.Object |---java.security.Permission |---|---java.io.FilePermissionpublic final class FilePermiss...
PrintWriterjava.lang.Object |---java.io.Writer |---|---java.io.PrintWriterpublic class PrintWriterextends Writer将对象的...
SyncFailedExceptionjava.lang.Object |---java.lang.Throwable |---|---java.lang.Exception |---|---|---java.io.IOException ...