五分钟配置 MinGW-W64 编译工具
编译器是一个诸如 C 语言撰写的源程序一步一步走向机器世界彼岸的桥梁。 Gnu 项目的 GCC 编译器是常用的编译器之一。儿在Windows 上也有 MinGW 这样可用的套件,可以让我们使用 GCC 来生成我们撰写的程序。但是 MinGW 项目发展缓慢,不支持 Windows 新特性,驱使我转换到了 MinGW-W64 上了。其实 MinGW-W64 也发源于 MinGW 项目。
要配置 MinGW-64 只需简单的三部即可完成。下面把我的步骤记录下来,共大家参考。
下载 -> 解压 -> 添加环境变量
MinGW-W64 的官方主页是: http://mingw-w64.org/。 可以在网站上获取文档、找到下载地址等。
下载可以前往 https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/ 来查找适合自己的版本来下载。
我选择下载的是 GCC 8.1.0 的 "i686-win32-sjlj" 这个版本的。
这里的 "i686" 是处理器架构。 "i686" 是我们通常说的 x86 或者 32 位, "X86_64" 是 "amd64" 或者我们经常说的 64位。这里要说的是,你选择什么架构,就只能生成对应架构运行的程序,所以我是 64 位的系统依然是选择的 "i686" 的版本。
"Win32" 是标准库的类型,除此还有 posix 可选。
儿最后的 "sjlj" 是异常调试模型,这么高深的我就不过多解释了。
下回来的是一个 ".7z" 的文件,我这里就用 7-Zip 来解压,并且把压缩包内的 "mingw32" 文件夹放到了 C 盘的根目录。
为了可以在 Cmd (命令提示符) 下直接可以使用 gcc 等工具,我们应该把 "mingw32" 文件夹下的 "bin" 目录加入环境变量。 在 Windows 10 上的路径是:
右击桌面上的 "此电脑” 图标或者直接按下 "Windows + Pause" 打开 “系统属性”,接着单机 "高级系统设置", 然后在新弹出来的对话框中点击 “环境变量”已打开 “环境变量” 设置界面;
选择 “用户的环境变量” 或者 “系统环境变量” 中的 “Path” 一项,然后点击对应的 “编辑” 按钮,具体选择哪一种变量编辑,主要是当前用户下可用还是所有用户下可用的区别。
在新弹出的对话框中填写你 MinGW-W64 下的 "bin" 文件夹的路径,我这里是 "C:\mingw32\bin",然后一路点击 “确定”。
经过上面的设置,你可以在 CMD (命令提示符) 下键入 "gcc -v" 查看到版本等信息。
一个简单的 Windows 32 应用程序的示例
我们可以敲一个简单的 Win32 应用程序来测试一下我们搭建的这个环境是不是可以用。你也可以把下面的代码保存成 ".c" 的 C 语言源代码文件,然后使用 "gcc -municode -mwindows 文件名.c" 来编译它。
/** Win32之一个信息框
* 或许是最简单的 Win32 应用程序了
* 编译套件: MinGW i686-8.1.0-release-win32-sjlj-rt_v6-rev0
* 时间: 21:39 2019/8/16
* 编译命令行: gcc -municode -mwindows *Win32_MessageBox.c
*/
#include <stdio.h>
#include <windows.h>
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
MessageBox(NULL, TEXT("hello world"), TEXT("Message"), 0);
return 0;
}
好了,今天的文章就写道这里啦,感谢你的阅读。下次再见了哟。
参考资料
五分钟配置 MinGW-W64 编译工具的更多相关文章
- JDK 的配置和反编译工具的使用---------------Java知识点
初始Java 1995年5月,sun公司开发了一门新的编程语言------Java 詹姆斯.高斯林(Java之父),Java语言小巧安全具有可移植可跨平台性的优点. 开发java程序的步骤:编写 ,编 ...
- MinGW下载并配置gcc/g++编译环境
本文将讲解如何下载MinGW并配置gcc\g++编译环境 一.下载MinGW 在MinGW官网中下载“mingw-get-setup.exe” 官网传送门:http://www.mingw.org/ ...
- Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...
- Eclipse反编译工具Jad及插件JadClipse配置(转)
Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不 ...
- 如何在eclipse中配置反编译工具JadClipse
Q:为什么有必要在开发环境中配置反编译工具呢? A: 当运行引用了第三方jar包项目时,突然报出了jar包中的某个类的某一行出现异常.我们想看一下这个class文件的代码时,经常出现了如下图所示的场 ...
- 2: Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...
- Java反编译工具Jad及插件JadClipse配置教程
Jad是一个Java的一个反编译工具,和eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 下面介绍一下配置: 下载JadClipse,http: ...
- 五分钟搞定 HTTPS 配置,二哥手把手教
01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
随机推荐
- java项目中日志的配置
1.日志相关比较详细的介绍:https://www.cnblogs.com/tanshaoxiaoji/p/log4j_config.html 2.总结1中博客说的内容 目前市场上常用的日志有log4 ...
- Golang中常用的代码优化点
Golang中常用的代码优化点 大家好,我是轩脉刃. 这篇想和大家聊一聊golang的常用代码写法.在golang中,如果大家不断在一线写代码,一定多多少少会有一些些代码的套路和经验.这些经验是代表你 ...
- synchronized和Lock的区别是什么?
原创2020-11-19 11:38:29011024区别:1.lock是一个接口,而synchronized是java的一个关键字.2.synchronized在发生异常时会自动释放占有的锁 ...
- Java IO流处理
字节流是由字节组成的;字符流是由字符组成的Java里字符由两个字节组成. 1字符=2字节JAVA中的字节流是采用ASCII编码的,字符流是采用好似UTF编码,支持中文的 Java IO流处理 面试题汇 ...
- JDBC几个接口分区叫什么?它们分别有什么用?
DirverManager类:是JDBC的管理层,作用于用户和驱动之间.该类负责注册和加载JDBC驱动.Connection接口:代表与数据库的链接,并拥有创建SQL语句的方法,以完成基本的SQL操作 ...
- Redis 集群方案什么情况下会导致整个集群不可用?
有 A,B,C 三个节点的集群,在没有复制模型的情况下,如果节点 B 失败了, 那么整个集群就会以为缺少 5501-11000 这个范围的槽而不可用.
- Javascript Range对象的学习
Range对象有几个特别难理解的属性,这里学习总结下 Range.startOffset:返回一个表示 Range 起点在 startContainer 中的位置的数字.此属性的值与Range.sta ...
- HTML 5中不同的新表单元素类型是什么?
HTML 5推出了10个重要的新的表单元素: Color. Date Datetime-local Email Time Url Range Telephone Number Search
- mapper.xml文件中标签没有提示的解决
1.首先我们来看看mapper.xml的头文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTY ...
- ADAS最全整理
为了实现「无人驾驶」的理想,各大整车厂和供应商目前正在开发「高级驾驶员辅助系统」(ADAS),随着 ADAS 慢慢被完善,车辆也在一步一步从 NHTSa 的 0 级过度到第 4 级,实现完全自动化.& ...