MinGW-w64 vscode C C++快速配置

2023-10-29 09:20
文章标签 配置 c++ 快速 vscode mingw w64

本文主要是介绍MinGW-w64 vscode C C++快速配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、MinGW-w64

1、下载mingw-w64-install.exe

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

这里可以下载此在线安装程序。运行它

建议:Architecture选X86-64、Threads选win32、Exception不变,而Build revision我这里没得选。threads这里选择会影响exception的可选项

2、搜索路径

这个是windows操作,没有什么好说的。我这里是C:\Mingw-w64\mingw64\bin,这个和上面安装程序是对应的(还有launch.json也是对应的)。

在vscode中查看路径是否正确,这个和终端有关,win7中默认是cmd,输入path并回车可以查看。而win10中默认是powershell,则命令应该是$Env:Path。效果如下图:

如果还有其他问题,建议参考这里

https://www.cnblogs.com/ggg-327931457/p/9694516.html

3、耐心

在线安装非常慢,请耐心等待,另外如果没有对新版本的要求,建议安装后打包备份。

4、一些选项的说明

Version 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。

Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。

操作:我的电脑系统是 64位 的,所以我选择了 x86_64,如果你是 32位 系统,则选择 i686 即可。

这个世界上只有两种操作系统,符合 posix 协议的,和 Windows 。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。

操作:我只开发在 Windows 下运行的程序,所以选择了 win32 。

异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。

操作:我这里选择了 seh 。

选择了 32位 后,则可以用 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,可以它不支持 64位 。

操作:建议选择 dwarf 。

Build revision 是什么没有搞清楚。

5、离线包的下载

这里有:

https://sourceforge.net/projects/mingw-w64/files/

版本选择相关:

32位系统选择i686, 64位系统选择x86_64
线程模型:win32 : 没有C ++ 11多线程特性, posix : 支持C ++ 11多线程特性
异常处理模型:32位系统推荐dwarf,64位系统推荐seh。

仅用于学习的话,建议还是下载32位的。

来源: https://www.jb51.net/softs/696087.html

 

二、vscode的安装

这个真没有好说的。

三、配置

1、关于中文文件名和文件夹的名称

千万别使用!包括前面的mingw和下面的过程。

2、假定你的CPP程序是放在D:\test\vscode\cpp下面,则在cpp下面建立一个名为.vscode的文件夹(注意第一个字符是小数点),并在下面建立launch.json和task.json两个文件,其内容分别如下:

{"version": "0.2.0","configurations": [{"name": "C/C++","type": "cppdbg","request": "launch","program": "${fileDirname}/${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,"MIMode": "gdb","miDebuggerPath": "C:/Mingw-w64/mingw64/bin/gdb.exe","preLaunchTask": "g++","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],},]
}

以及

{"version": "2.0.0","command": "g++","args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"],"problemMatcher": {"owner": "cpp","fileLocation": ["relative", "${workspaceRoot}"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}}
}

3、扩展的安装

建议暂时只安装这三个: C/C++、Code Runner和C++ Intellisense,且最后一个不是功能性的或者说不安装也能正常工作,只是装了更爽。

如果只使用Code Runner的run code则不需要上面的.vscode及下面的文件也能运行!但是我们肯定是需要调试功能等等,所以上面这个还是.vscode这些还是要的!

4、确保所有cpp和c文件以及头文件什么的都放在D:\test\vscode\cpp下面。如果用其他文件夹,记得把.vscode文件夹以及下面的文件拷过去!

5、

依次打开:文件>首选项>设置>用户设置>拓展>Run Code Configuration

找到  Run In Terminal  打上勾 这样运行的程序就会运行在vscode的集成控制台上

在工作区设置也有这个选项,但工作区设置只会对工作区生效。

否则:

如果程序里有scanf()等请求键盘输入数据的函数,此时无法从键盘输入数据,并且程序无法结束需要关闭重启vscode才能重新执行。

出现的问题:某台win7电脑,删除原有的VS2013及VS2019后,不能再弹出窗口,直接返回了。设置及重装vscode都不能解决,最后只能重装win7!

四、测试 

1、运行vscode

2、打开文件夹D:\test\vscode\cpp

3、在文件夹中新建或打开一个.cpp文件或.c文件

4、F5

5、一个错误

Connection to server got closed. Server will not be restarted.

一进入vscode就开始不断提示,F5及ctrl+F5都不能运行程序。

查找原因:找不到。但是自动更新到某一程度(原始的系统是原版的win7 sp1 chs)就不再出现,vscode能正常工作了。另外, 是在上述原始系统中就安装的vscode,一直不能正常工作,且有某个提示(没有记录下来),直到安装了某些更新就正常了。猜测是不是某个.net库没有安装?

推荐解决办法:打windows7全部补丁。同时不建议使用ghost版的7。

补充一个图(别人发在知乎上的图)

五、vscode中的终端选择

点这个“选择默认 Shell”,然后会出现这个:

建议初学者选择cmd.exe,虽然powershell更加强大,但是更有难度

六、参考资料

https://www.cnblogs.com/stoneebkr/p/9896887.html

 

https://www.cnblogs.com/ggg-327931457/p/9694516.html

七、中文乱码

https://blog.csdn.net/yoursly/article/details/95588323

可以参考这里。

要点:

1、file,preferences,setting,text editor,files,

 

在 Auto Guess Encoding上面打个勾,如图

2、当然,也可以指定字符集,像这样指定GBK字符集。还是file,preferences,setting,text editor,files,

八、VScode在线更新慢或者无法更新

可以下载vsix文件后安装。下载不说了,安装方法如下:

file,preferences, extensions。然后点这里:

接下来这样就好了:

 

这篇关于MinGW-w64 vscode C C++快速配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象