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

本文主要是介绍在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

这篇关于在Windows上配置VSCode MinGW+CMake(包括C++多线程编程的两套API:posix和win32)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093585

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2