下载安装MinGW-w64详细步骤(vscode配置c/c++)附make,和VScode终端出现中文输出乱码的解决方法

news2024/12/23 13:20:09

因为想使用VScode编译C/C++代码,所以研究怎么下载安装MinGW-w64,网上教程大多五花八门,且会出现错误。所以整理一下成为一下正确的操作。

一、MinGW-w64介绍

MinGW 的全称是:Minimalist GNU on Windows ,实际上是将gcc(c/c++编译器)移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。

选择它的原因:

1. MinGW-w64 是开源软件,可以免费使用。
2. MinGW-w64 由一个活跃的开源社区在持续维护,不会过时。
3. MinGW-w64 支持最新的 C语言 标准。
使用 Windows 的C语言运行库,因此编译出的程序不需要第三方 DLL ,可以直接在 Windows 下运行。
总之就是要在windows运行c/c++按就对了。可以理解为c/c++的编译器gcc的windows版。

二、MinGW-w64下载与安装

1.下载解压安装

官方下载网站:MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net

进入界面选择Files(文件)

许多教程说页面向下拉,找到下一张图的位置会有下载的地方,但是MinGW网站更新了,找不到x86_64-win32-seh,现在找不到了。

在files这个界面,打开Tollchains targetting Win64,再打开Personal Builds,点入mingw builds,点 8.1.0,threads posix,再选seh

下载这个x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z文件

解压到c盘

然后再bin目录里面就可以找到g++.exe或者gcc.exe:

 2.MinGW-w64环境变量的设置

这个地方搜env

打开编辑系统环境变量:

点击环境变量:

点击系统变量中新建一个环境变量,环境变量名字我这里是MinGW,值是你安装的路径:

 然后点击系统变量中的PATH环境变量,新建一个环境变量,路径是安装目录下的bin目录路径,因为gcc.exe和g++.exe都在这里面:

3.验证MinGW是否安装成功

windows+r打开命令行管理器并且输入cmd:

然后输入gcc -v 或者g++ -v 或者 gcc --version 或者 g++ --version:

三、VScode编译c,c++文件

打开VScode,创建C++,C文件(默认已经创建好了)

先去插件市场安装C/C++

创建c文件

鼠标放在c文件内部,同时按下 Ctrl + Shift + p ,中间就会出现

搜索c/c++编译配置(UI)

在编译器路径中选择mingw64的编译器 C选:gcc.exe;C++选g++.exe

 IntelliSense 模式 

下拉选gcc-x64(legacy)

在这里编译选项就设置好了。

下面还要创建执行任务tasks.json。

先点击终端->配置任务

选择gcc.exe生成活动文件

就生成了tasks.json文件表示编译成功

接下来就开始运行这个程序了,终端->运行生成任务,就会生成.exe执行文件

在文件中按下 ctrl+ ` (就是tab上面的按键)。就会在当前文件路径打开终端

可以直接执行exe文件

也可以在终端通过

gcc .\hello.c -o hello1.exe

来生成可执行文件

当然现在还不能使用make

需要打开C:\MinGW\bin文件夹,找到mingw32-make.exe
MinGW 只提供了名字为 mingw32-make.exe 的执行文件,该文件和 make.exe 功能一样,为了make执行时能找到该文件,复制mingw32-make.exe一份,并将复制文件命名为make.exe

查看make是否安装成功: 在cmd中输入 make -v,看到以下内容表示安装成功:

四 、在make编译过程中出现中文输出乱码的情况

像这样

这是系统默认的和Vscode的不同吧,我们把Vscode默认的UTF-8改成Simplified Chinese(GBK)就可以两者兼顾了。
下面步骤
先点击右下角默认的UTF-8

选择通过编码保存 

选择Simplified Chinese(GBK)(可搜索)

再重新make

再运行就会变成正常的了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2170504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

disruptor-spring-boot-start启动器

文章目录 一. Disruptor简介1.简介2.Disruptor官方文档及项目地址3.原理图 二. disruptor-spring-boot-start启动器使用教程1.项目中引入依赖如下1.1 gitee坐标1.2 github坐标 2.启动类上加入如下注解3.使用Demo3.1. DisruptorEventHandler类3.2. DisruptorBizListener类3.3. D…

基于C#的串口助手,VS2022最新教程

大家好,给大家分享一个本人集合了CSDN各方的代码做成了一个基于C#的串口助手,学了两三天,还是挺不错的,该有的功能都有,给大家看下界面。 设计的思路也很简单 获取串口号:这边使用定时器来获取,可以达到实时更新串口号的效果,点击选择串口定时器就关闭, 关闭串口就会…

每日OJ题_牛客_NC1大数加法_高精度加法_C++_Java

目录 牛客_NC1大数加法_高精度加法 题目解析 C代码 Java代码 牛客_NC1大数加法_高精度加法 题目解析 模版类型的算法题,模拟加法列竖式运算的过程即可。 假定算法流程: 设定 i,j 两指针分别指向 s,t 尾部,模拟…

Facebook公共主页bug问题解决措施清单

在使用Facebook的过程中,许多用户可能会遇到一些让人困扰的BUG,这些问题往往会让人感到无奈。为了帮助大家更好地应对这些情况,本文将总结一些常见的BUG以及对应的解决方案,主要集中在公共主页的相关问题。如果感兴趣就请读下去吧…

学习记录:js算法(四十七):相同的树

文章目录 相同的树我的思路网上思路队列序列化方法 总结 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 图一: 图二&…

软件测试工程师...我是如何正确地申请加薪的!

01 合理加薪,明确价值 突然有一天被人问到,你是怎么跟老板谈薪资和加薪的事情的? 我一愣,思考了一下,回想我这么些年工作,好像除了入职的时候跟老板讲过工资,其他的时候从没有主动跟老板或领导…

从数据到作图,三步教会你风向玫瑰图

很多小伙伴在用0rigin软件作风向玫瑰图时就卡在第一步,精准全面的风向数据去哪获取? 给大家推荐一个平台——羲和能源气象大数据平台,在这你不仅可以获取风向数据还能直接生成“风向玫瑰图”,一步到位! 步骤一:搜索“羲和能源气象大数据平…

CDGA|数据流通新策略:高效利用,解锁数字经济新动能

在数字化浪潮席卷全球的今天,数据已成为驱动经济社会发展的关键生产要素。随着大数据、云计算、人工智能等技术的飞速发展,数据的价值被无限放大,而如何高效地流通与利用这些数据,成为了摆在各行各业面前的重要课题。本文将探讨数…

vue.js——“微商城”后台管理系统

1. 需求背景: 先创建运行环境,“微商城”后台管理系统是一种后台管理系统平台,旨在提供一个便捷、安全和高效的管 理和操作各类数据的平台。系统将涵盖用户登录、商品管理、分类管理、新增分类和个人中 心等功能,以满足用户高效数据管理的各…

Vue2项目中vuex如何简化程序代码,提升代码质量和开发效率

Vuex为Vue中提供了集中式存储 库,其主要分为state、getter、mutation、action四个模块,它们每个担任了不同角色,分工不同;Vuex允许所有的组件共享状态抽取出来,以一个全局单例模式管理,状态集中存储在同一…

安装软件及apt install -f修复均报错

UOS统信安装软件过程及修复依赖过程,可排查deepin-installer和dpkg问题 文章目录 一、问题现象二、问题原因三、解决方案 一、问题现象 执行apt install -f 都会出现该报错,如图所示: 二、问题原因 造成这种情况的原因在于/var/lib/dpkg/…

视频生成模型哪家强?豆包可灵通义海螺全面评测【AI评测】

比较贴切的表述是,豆包的视频模型这次的升级,已然将国内AI视频的美学境界拔高了一个档次,让AI视频也开始变得更加实用了。 作者|斗斗 出品|产业家 国内的文生视频领域,也是吃上“细糠”了。 最近,火山引擎宣布豆…

必收藏,售后客服日常回复必备的话术 (精华版)

在售后客服工作中,使用恰当的话术对客户进行回复至关重要。本文精选了售后客服日常工作中必备的精华话术,旨在帮助客服人员提升回复效率和服务质量。其中包括客户投诉处理、问题解决、礼貌用语等多个方面的话术内容。 前言 在售后客服工作中&#xff0c…

Flux【lora模型】【禅意插画】:画风清新唯美,充满禅意韵味的插画模型:Zenpainting l 禅意插画

大家好我是安琪!!! 今天和大家推荐一款基于Flux训练的禅意插画风格的lora模型:Zenpainting l 禅意插画**。**此Lora模型可生成富禅意韵味的艺术插画,画风清新唯美,充满艺术意境。 提示词:Zen painting il…

URI和URL的区别

1: 将 URI 转换为 URL import java.net.URI; import java.net.URL;public class UriToUrlExample {public static void main(String[] args) {// 创建一个 URI 对象URI uri = new URI("http://example.com/path/to/resource");// 将 URI 转换为 URLtry {URL url = u…

C++:模板(1)

目录 实现泛型的交换函数 函数模板 1.概念 2.格式 3.原理 4.函数模板实例化 5.函数模板参数的匹配原则 类模板 1.定义格式 2.实例化 3.声明与定义问题 实现泛型的交换函数 我们实现一个对所有类型都通用的交换函数,可以用函数重载来实现。 void Swap(in…

Map和Set,TreeMap和TreeSet,HashMap和HashSet

文章目录 TreeSet和TreeMap二叉搜索树模拟TreeMAp定义 基本操作插入查找删除(难点)遍历性能分析应用场景 Map&&Set模型 HashMap常用方法 HashSet常用方法HashMap和HashSet区别数据结构不同元素类型不同方法不同使用场景不同 TreeSet和TreeMap 定义: TreeSe…

个人健康档案管理系统

基于springbootvue实现的个人健康档案管理系统(源码L文ppt)4-076 4.1 系统功能结构设计 根据对个人健康档案管理系统的具体需求分析,把系统可以划分为几个不同的功能模块:管理员可以对系统首页、用户管理、健康体检管理、疫…

智能密码、指纹锁语音芯片ic方案 可存放40s语音内容 NVD语音芯片

随着科技的飞速发展,智能家居安全领域迎来了前所未有的变革。智能密码与指纹锁作为现代家庭安全防护的重要一环,其背后的语音芯片IC开发更是这一变革中的关键技术突破。 智能密码、指纹锁语音芯片ic方案 选型与简介: NVD语音芯片是一款低成…

基于JAVA+SpringBoot+Vue的疫苗发布和接种预约系统

基于JAVASpringBootVue的疫苗发布和接种预约系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&#x1f3…