在Windows上配置VSCode MinGW+CMake(包括C++多线程编程的两套API:posix和win32)

创建目录

首先,需要电脑上安装VSCode, 并且创建三个文件夹:cmake、MinGW-posix、MinGW-w32
在这里插入图片描述

文件下载

下载posix-seh

posix和win32分别是c++多线程变成的两套API,可根据不同需求安装,现在先下载配置环境需要的几个文件
百度搜索MinGW-64
在这里插入图片描述
点击download ,下拉找到MinW-W64-builds并点击
在这里插入图片描述
在Source中点击SourceForge
在这里插入图片描述
在这里插入图片描述
跳转以后点击files,我们需要下载的第一部门文件也就是gcc和g++工具集就在这里
在这里插入图片描述
如果计算机时64位的就下载x86部分,如果时32位的就下载i686部分,下载的时候只需要下载seh结尾的文件压缩包,点击文件,页面会自动跳转,等待倒计时结束,就会自动下载,如果没有就刷新几次
在这里插入图片描述

下载win32-seh

因为这次我们要把两套API都配置,所以需要把posix-seh和win32-seh文件都下载

在这里插入图片描述
如果下载较慢,可以考虑爬梯子加快速度

下载mingw-get-setup下载器

返回百度搜索狂,开始下载第二部分mingw下载器文件
mingw-get-setup
在这里插入图片描述
在这里插入图片描述

下载CMake

返回搜索框,下载第三部分cmake文件

在这里插入图片描述
进入cmake官方,点击右上角download
在这里插入图片描述
platform中有对应的cmake绿色版压缩包,找到需要的压缩包下载即可,这里我下载的时windows x64版本的在这里插入图片描述

解压文件

下载完成以后就得到了三部分文件:
1.MinGW gcc g++工具集
2.MinGW下载器
3.CMake绿色软件
现在,将这些文件解压到对应的提前建好的文件夹中:
1.将下载好的posix-seh解压到MinGW-posix文件夹
2.将下载好的win32-seh解压到MinGW-w32文件夹
3.将cmake绿色版压缩包解压到cmake文件夹
解压来,使用mingw下载器安装mingw基础工具集,其中包括make和gdb这些。

安装

MinGW-posix安装工具集

我们先安装posix版本内的工具集,点击mingw-get-setup下载器,把安装路径改到MinGW-posix文件夹
在这里插入图片描述
下面的选项默认即可,点击continue,接下来只需要耐性等待下载前的准备完成

在这里插入图片描述
下载前的准备完成,点击continue,进入页面选择下载包
在这里插入图片描述
我们之前已经下载完的gcc g+=相关工具集,所以这里只需要下载mingw基础工具集,点击左侧栏Basic Setup, 点击右侧选择栏选择mingw32-base-bin并Mark for Installation以后

在这里插入图片描述
在这里插入图片描述
点击左上角Installation,再点击Apply Changes在这里插入图片描述
再点击Apply,耐心等待安装成功
在这里插入图片描述
在这里插入图片描述
如果报错,先不用管,点击确定继续安装
在这里插入图片描述
等待完成,点击close
在这里插入图片描述
再All Packages里面可看我们安装的软件包,绿色方块表示以及安装成功,带黄色箭头的代表没有安装成功
在这里插入图片描述
在这里插入图片描述
之前的报错就说明有软件包没有安装成功,此时就需要再一次Apply Changes,这个软件白的安装受网速影响,如果仍然报错,就再一次apply,直到所有软件包安装成功。

MinGW-win32安装工具集

完成以后重复之前操作,给win32版本安装MinGW基础软件包,路径改为MinGW-w32,完成以后,cmake和mingw软件包就都安装完成了。

设置环境变量

打开命令提示符(win+r,输入cmd)测试安装成果,输入命令make --version, gcc --version, g++ --version,此时我们发现系统找不到运行程序
在这里插入图片描述
原因就是还没有添加环境变量,打开系统环境变量,在系统变量中找到path
在这里插入图片描述
在这里插入图片描述
再path中添加cmake和MinGW-w32软件包路径
在这里插入图片描述
添加完成,点击确定保存,返回命令提示符

输入cmake --version,可以看到当前安装的cmake版本为3.29.2
在这里插入图片描述
输入gcc -v,可以看到当前的gcc模式为win32,版本为8.1.0
在这里插入图片描述
输入g++ -v,可以看到当前的g++模式为win32,版本为8.1.0
在这里插入图片描述
如果要使用posix版本的gcc g++,就在环境变量中MinGW-w32的路径更改对应MinGW-posix的软件包路径
在这里插入图片描述
添加完成,点击确定保存,返回命令提示符
输入gcc -v,可以看到当前的gcc模式为posix,版本为8.1.0
在这里插入图片描述
输入g++ -v,可以看到当前的g++模式为win32,版本为8.1.0
在这里插入图片描述
至此,MinGW和cmake的环境就算配置完成了,接下来看看如何在VSCode中使用MinGW和cmake

VSCode使用

打开VSCode,点击进入商店
在这里插入图片描述

输入c/c++,点击第一个,点击安装
在这里插入图片描述
输入cmake,点击第一个,点击下载安装
在这里插入图片描述
输入cmake-tool,点击第一个,点击下载安装

在这里插入图片描述
三个插件下载安装完成就可以在VSCode中使用gcc g++ cmake了,测试一下,输入cmake–version, gcc -v, g++ -v

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后,这样就实现了在windows上配置VSCode MInGW+CMake(包括c++多线程编程的两套API:posix和win32)如果计算机上有visual Studio,那么用VSCode编译新项目时,第一次cmake需要输入

cmake -G "MinGW Makefiles" ..

第一次输入完后直接

cmake ..

就可以,make时如果不成功,可以尝试将MinGW安装路径中的mingw32-make.exe复制一份并改为make.exe

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用JavaScript解决reCAPTCHA:完整教程

虽然reCAPTCHA有效地保护了网络内容,但有时它也会妨碍合法活动,例如研究、数据分析或其他与合规相关的自动化任务,这些任务需要与网络服务进行交互。 你将学到什么 在本博客中,我们将带你逐步了解如何使用JavaScript解决reCAPTC…

C++:stack类(vector和list优缺点、deque)

目录 前言 数据结构 deque vector和list的优缺点 push pop top size empty 完整代码 前言 stack类就是数据结构中的栈 C数据结构:栈-CSDN博客 stack类所拥有的函数相比与string、vector和list类都少很多,这是因为栈这个数据结构是后进先出的…

[CSCCTF 2019 Qual]FlaskLight1

打开题目 右键查看一下源代码 看到提示,需要用GET方search函数

g6解决拓扑图中dagre布局需要增加同级节点的问题(旁挂层同级节点相连)

背景:dagre可以在节点数据中配置layer字段,为节点指定层级,但layer的指定不能违背图结构与层次布局的原则,也就是说每一条边的起点的layer一定小于终点的layer值,否则会导致布局失败。 解决办法:动态添加节…

嵌入式人工智能ESP32(4-PWM呼吸灯)

1、PWM基本原理 PWM(Pulse-width modulation)是脉冲宽度调制的缩写。脉冲宽度调制是一种模拟信号电平数字编码方法。脉冲宽度调制PWM是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式。所以根据面积等效法则,…

超简单亿图图示安装教程/快速入门指南及快捷键大全

一、软件介绍 Edraw Max(亿图图示)作为一款全类型的图形图表设计软件,深受广大用户的欢迎。目前,Edraw Max(亿图图示)里拥有20000多个符号,有效地满足使用者的需求;另外,…

JDBC基础Demo

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

STL六大组件

STL&#xff08;Standard Template Library&#xff0c;标准模板库&#xff09;是C标准库的一部分&#xff0c;提供了丰富且高效的数据结构和算法。STL主要由6大组件构成&#xff0c;分别是容器、算法、迭代器、适配器、仿函数和空间配置器。 容器&#xff08;Containers&#…

ES6 (一)——ES6 简介及环境搭建

目录 简介 环境搭建 可以在 Node.js 环境中运行 ES6 webpack 入口 (entry) loader 插件 (plugins) 利用 webpack 搭建应用 gulp 如何使用&#xff1f; 简介 ES6&#xff0c; 全称 ECMAScript 6.0 &#xff0c;是 JavaScript 的下一个版本标准&#xff0c;2015.06 发版…

ICC2:insertion delay会拉长同一skew group其他sink吗?

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 来自知识星球提问: 已知一个skew group包含若干sink,针对其中一个sink设置insertion delay,希望工具把它做长,命令如下: create_clock_skew_group -clock xx -objects {xx xx} -name sg set_cl…

2024 江苏省第二届数据安全技术应用职业技能竞赛 初赛 部分wp

文章目录 一、前言二、参考文章三、题目&#xff08;解析&#xff09;数据安全解题赛1、ds_0602&#xff08;30分&#xff09;2、333.file&#xff08;45分&#xff09;3、pf文件分析&#xff08;35分&#xff09;4、丢失的资料&#xff08;45分&#xff09;5、greatphp&#x…

C#学习之路day2

一、变量 用来在存储计算机当中存储数据 1、常见的数据类型&#xff0c; 2、声明变量的方式 *声明&#xff1a;变量类型 变量名 &#xff1b; *赋值&#xff1a;变量名 值 &#xff1b; 先声明 &#xff0c;再赋值 &#xff0c;再使用 int num ; //声明num 10; //赋值i…

ArcGIS Pro 实现人口分布栅格TIFF数据的网格提取与可视化

这里在分享一个人口1km精度栅格数据&#xff0c;LandScan是由美国能源部橡树岭国家实验室&#xff08;ORNL&#xff09;提供的全球人口分布数据集&#xff0c;具有最高分辨率的全球人口分布数据&#xff0c;是全球人口数据发布的社会标准&#xff0c;是全球最为准确、可靠&…

React原理之Fiber双缓冲

前置文章&#xff1a; React原理之 React 整体架构解读React原理之整体渲染流程React原理之Fiber详解 -----读懂这一篇需要对 React 整体架构和渲染流程有大致的概念 &#x1f60a;----- 在前面的文章中&#xff0c;简单介绍了 Fiber 架构&#xff0c;也了解了 Fiber 节点的…

macOS安装搭建python环境

安装Homebrew apt-get是一个常见于Debian和Ubuntu等基于Linux的操作系统中的包管理工具&#xff0c;用于安装、更新和移除软件包。然而&#xff0c;macOS使用的是Homebrew或者MacPorts等其他的包管理工具&#xff0c;并不使用apt-get。 如果你想在macOS上使用类似apt-get的功…

书生大模型实战营-进阶关-Lagent 自定义你的 Agent 智能体

Lagent 自定义你的 Agent 智能体 Lagent 介绍环境配置Lagent Web体验第1步&#xff0c;启动大模型API服务第2步&#xff0c;启动 Lagent 的 Web页面 基于 Lagent 自定义智能体 Lagent 介绍 Lagent 是一个轻量级、开源的基于大语言模型的智能体&#xff08;agent&#xff09;框…

家里猫毛到处飞怎么办?如何清理?用宠物空气净化器去除猫毛

我家三只布偶原住民&#xff0c;都是掉毛怪&#xff0c;刚好还是不同的颜色&#xff0c;黑的灰的白的...家里和画板似的&#xff0c;每天都被猫毛上色&#xff0c;清扫时超级崩溃。沙发上、床上、地板上这些常见的地方就不用说了&#xff0c;甚至水杯和碗筷边偶尔也能看见猫毛&…

微服务的基本理解和使用

目录​​​​​​​ 一、微服务基础知识 1、系统架构的演变 &#xff08;1&#xff09;单体应用架构 &#xff08;2&#xff09;垂直应用架构 &#xff08;3&#xff09;分布式SOA架构 &#xff08;4&#xff09;微服务架构 &#xff08;5&#xff09;SOA与微服务的关系…

wincc报警如何通过短信发送给手机

单位使用WINCC上位机监控现场&#xff0c;需要把报警信息发送到指定手机上&#xff0c;能否实现&#xff1f;通过巨控GRMOPC系列远程智能控制终端&#xff0c;简单配置即可实现wincc报警短信传送到手机。配置过程无需任何通讯程序&#xff0c;也不要写任何触发脚本。 GRMOPC模…

Java中接口

接口的定义和使用 练习 public abstract class Animal {private String name;private int age;public Animal() {}public Animal(String name, int age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name…