Windows MinGW配置C、C++编译环境

写在前面的前面:这篇文章vscode和cpp插件版本有点老了,仅供大家参考,最新的和最详细的更新见我的另一篇文章:整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(主要Windows、简要Linux)_bat67的博客-CSDN博客_vscode配置c/c++环境

写在前面:

  • 由于这学期(或者说这一年)一直在忙别的,也没什么闲心看博客了,近期发现自己的这篇文章:整理:Visual Studio Code (vscode) 配置C、C++环境/编写运行C、C++(Windows)竟然有了好多访问,也有不少童鞋问各种问题,非常感谢大家的支持,本来是自己整理的没想到有这么多人看hhh,正好近期自己换了台笔记本,就照着自己写过的VScode的教程自己搭建了一遍,发现其实过程也是很简单的,原来的那篇文章,里面有些东西也是没什么必要的(有可能是VS code和相应的cpp插件更新的缘故吧),所以再写一个小白搭建版本。
  • 注意的是,主要步骤还是我上面的那篇博客写的那些,就是下面的方法更不易出错,比较稳妥和方便,适合小白(比如我)

第一步:下载codeblocks最新版

  • 其实没什么必要,主要是要这个编译器,单独下载安装编译器(就像我的前面那篇文章写的)容易出现各种问题。不过感觉codeblocks还算不错啦,对于不写什么大型项目的菜鸡的我来说已经够用了,相比而言,“宇宙第一IDE visual studio”就有些臃肿,目前codeblocks这个版本是最新的,下载网址
    网页截图,目前17.12版本是最新的
  • 对于不知道自己电脑里是不是有编辑器的童鞋来说,就下载codeblocks-17.12mingw-setup.exe就ok,就是上边截图里的从上往下数第四个,从下往上数第三个。
  • 点进去下载安装就行了,因为我已经装好了,就不再演示一遍了,就放一张下载的截图吧
    下载界面
    codeblocks安装在win10截图
  • 装好后就有了codeblocks和mingw编译器了,可以打开codeblocks新建一个项目写个hello world玩一下,看是不是装好了,当然可以直接进行下面第二步
  • 补一句,当然下载 Dev-cpp也是可以的,道理都类似,用其中的编译器,不过听说这个软件已经停止维护了(听说),而且自己没怎么用过(补全功能等太差),我知道这个软件唯一的优点就是可以直接编译运行单个cpp/c文件,而不用像codeblocks或者VS那样建立一个工程。看个人喜好啦~

第二步:配置环境变量

  • 打开你的codeblocks安装目录,我是默认安装的在C:\Program Files (x86)\CodeBlocks,里面的MinGW就是安装的编译器了,将里面的bin文件夹加入路径,我的就是C:\Program Files (x86)\CodeBlocks\MinGW\bin,将这个加入路径即可。
  • 路径加入方法:路径加入方法
  • 我这是找的我最早博客那张图,其实我加入的路径并不是在图片写的A盘,而是C:\Program Files (x86)\CodeBlocks\MinGW\bin,如下图:环境变量配置
  • 加入后,建议重启一下电脑

第三步:下载安装VSCode(已经装好了请跳到第四步)

  • vscode请到官网下载最新版
    vscode官网
  • 点击Download for windows
    这是目前的最新版1.25.1
  • 自行选择位置安装,注意安装时,把里面的两项好像叫注册到资源管理器什么的(记不太清了),建议选上。这样选上后安装是右键就有Open with Code选项了
  • 更新:上面说的就是下面这两个选项在这里插入图片描述

第四步:安装VSCode cpp相关的插件

  • 插件是这个cpp插件
  • 这样安装:安装过程 具体就是打开vscode,选择最左边的5个按钮的最下面一个拓展(或者按ctrl+shift+x )然后在搜索框内输入C++ 第一个就是,点击安装即可
  • 稍等一会就安装完毕

第五步:配置.vscode文件

  • 在桌面或者哪个位置新建文件夹和里面新建一个cpp文件(强烈建议路径和文件名全是英文,避免出现一些奇奇怪怪的问题,原来的版本有中文是不行的,新版本我没有试过,小白不建议尝试),我是在桌面建了一个test文件夹,然后在里面建立了一个main.cpp的文件test文件夹和main.cpp文件
  • 右键点击桌面的文件夹,点击Open with Code,在这个文件夹里打开vscode,注意,是用VScode打开文件夹,打开一个单独的cpp是不行的!!也就是说,这个cpp要在一个文件夹里!不像Dev-Cpp和C-Free可以直接调试一个单独的cpp!!要是右键没有Open with Code这个选项,那就是前面我说的那个选项没有选上,可以考虑重新覆盖安装一遍,选上那两个选项,或者在cmd/powershell里打开文件夹,输入code .同样道理(注意有一个点最后)
  • 这时候显示的应该是下面这个图:用VScode打开test文件夹
  • 双击main.cpp随便写的什么,比如我写一个hello world。
#include <iostream>
int main()
{std::cout<<"hello world";return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 写完后,点击右侧 左侧(感谢评论区指正)倒数第二个,带着红点的齿轮
  • 点击那个带着红点的齿轮,选择C++(GDB/LLDB)
    带着红点的齿轮选择C++ GDB/LLDB
  • 然后会在工作目录下的生成一个launch.json的启动配置文件: launch.json的启动配置文件
  • 将这个launch.json用下面的替换:
{"version": "0.2.0","configurations": [{"name": "(gdb) Launch",	// 配置名称,将会在启动配置的下拉菜单中显示"type": "cppdbg", 		// 配置类型,这里只能为cppdbg"request": "launch",	// 请求配置类型,可以为launch(启动)或attach(附加)"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径"args": [],				// 程序调试时传递给程序的命令行参数,一般设为空即可"stopAtEntry": false, 	// 设为true时程序将暂停在程序入口处,一般设置为false"cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录"environment": [],"externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台"MIMode": "gdb","miDebuggerPath": "C:/Program Files (x86)/CodeBlocks/MinGW/bin/gdb32.exe",// miDebugger的路径,注意这里要与MinGw的路径对应"preLaunchTask": "g++",	// 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 注意miDebuggerPath这一项要确保和你安装的路径一致。如果和我一样都是默认安装的那就可以不用改,原封不动复制即可。不过最好需要注意一下miDebuggerPath这一项中,你的安装路径最后到底是gdb32.exe还是gdb.exe。我的是gdb32.exe,视情况更改。
  • 注意miDebuggerPath是\\,与直接粘贴过来的路径不一样,需要加一个”\”(冒号后面的两个反斜杠“\\”)
  • 【注意在这时候不要点击F5运行,原来这篇文章里说的按F5只是为了生成tasks.json,由于版本变化(新版的在此时运行会出现could not find the task 'g++'),我建议直接在.vscode文件夹中新建tasks.json
  • 再在文件夹中新建tasks.json文件(注意有个s,谢评论区指正,下面的图片是一定正确的),然后里面粘贴用下面的内容
{"version": "0.1.0","command": "g++","args": ["-g","${file}","-o","${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}}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 弄好后文件夹里应该是这样的:弄好后文件夹里应该是这样的
  • 弄到这里就基本完成了,关于前面两个文件的含义,请参照官方文档
  • 这里补一句,这个文章下面有一位朋友的问题:

楼主我想把exe生成到代码所在的文件夹下 那个tasks和launch怎么设置 我直接改地址调试的时候会有1的报错 希望楼主能帮下忙 我不懂怎么配置

回答:

  • launch.jsonprogram改成:
    "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
  • task.jsonargs改成:
    "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"],
    具体那些替换变量的意思见下面两篇文章~:
    VSCode launch.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等_bat67的博客-CSDN博客
    VSCode tasks.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等_bat67的博客-CSDN博客

第五步:调试cpp文件

任何程序错误,以及技术疑问或需要解答的,请添加

 

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

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

相关文章

Burpsuite超详细安装教程

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文转载于链接&#xff1a;https://blog.csdn.net/LUOBIKUN/article/details/87457545 Burpsuite的超详细安装教程 概述工具分享安装一&#xff…

使用Hexo搭建个人博客的终极资料

# 一、前言 Hexo 是一个基于 NodeJs 博客框架&#xff0c;可以快速的帮我们搭建一个博客系统&#xff0c;Hexo使用的是Markdown&#xff08;下文简称MD&#xff09;解析文章的&#xff0c;在几秒内即可利用靓丽的主体生成静态网页。 推荐使用 Hexo 有三大理由&#xff1a; 有…

Linux Ubuntu 安装编译Opencv 3.4.3 C++开发环境

在安装Autoware之前&#xff0c;需要先安装Opencv&#xff0c;之前在Windows下安装了Opencv&#xff0c;挺复杂的。不过&#xff0c;在Ubuntu 16.04环境中配置安装Opencv相对来说&#xff0c;比较简单。 Linux Ubuntu 安装编译Opencv 3.4.3 C开发环境 1.1 下载Opencv 3.4.3 …

bugku web基础$_POST

意思是通过post传入一个参数what&#xff0c;如果what的值等于flag&#xff0c;即打印出flag 这个我们有好几种办法&#xff1a; 第一种方法&#xff1a; 用FireFox的HackBar插件&#xff0c;传入参数whatflag run一下&#xff0c;爆出了flag 第二种方法&#xff1a; 写个…

Windows MinGW cmake 安装编译Opencv 3.4.3 C++开发环境

win10 _64位系统 VSCode&#xff1a;官网地址 Opencv&#xff1a;3.4.5 Cmake&#xff1a;3.9.0 MinGw&#xff1a;MinGW-W64 GCC-8.1.0&#xff08;x86_64-posix-seh&#xff09; MinGW配置&#xff1a; MinGW可以在线安装&#xff0c;也可以直接下载文件后离线解压。 …

Spring Boot (七)MyBatis代码自动生成和辅助插件

一、简介 1.1 MyBatis Generator介绍 MyBatis Generator 是MyBatis 官方出品的一款&#xff0c;用来自动生成MyBatis的 mapper、dao、entity 的框架&#xff0c;让我们省去规律性最强的一部分最基础的代码编写。 1.2 MyBatis Generator使用 MyBatis Generator的使用方式有4…

Android 性能优化提示

原文 http://developer.android.com/guide/practices/design/performance.html 性能优化 Android应用程序运行的移动设备受限于其运算能力&#xff0c;存储空间&#xff0c;及电池续航。由此&#xff0c;它必须是高效的。电池续航可能是一个促使你优化程序的原因&#xff0c;即…

全志A20 刷入Ubuntu/Debian Linux固件 亲测能用

测试盒子&#xff1a;小美盒子&#xff08;好像是杂牌的&#xff09; 有疑问交流可以加微信&#xff1a;1755337994 PCB板号&#xff1a;RM-MPEG-107G VER1.0 20140422 用PhoenixUSBPro刷入就行&#xff0c;要刷500多秒&#xff0c;5124G版本的配置刷完Debian系统里面看还剩1…

Spring Boot (八)MyBatis + Docker + MongoDB 4.x

一、MongoDB简介 1.1 MongoDB介绍 MongoDB是一个强大、灵活&#xff0c;且易于扩展的通用型数据库。MongoDB是C编写的文档型数据库&#xff0c;有着丰富的关系型数据库的功能&#xff0c;并在4.0之后添加了事务支持。 随着存储数据量不断的增加&#xff0c;开发者面临一个困…

树莓派3B+安装Android 10系统

Android Things 作为 Google 旗下的一款操作系统 (OS)&#xff0c;能够帮助开发者规模化开发和维护物联网设备。同时推出的 Android Things 控制台 (Android Things Console) 更是将简化产品开发推向极致&#xff0c;帮助开发者定期获取 Google 最新稳定性修复包以及安全升级包…

Ubuntu下安装配置VIM/GVIM(GUI-Vim)

安装命令&#xff1a; sudo apt-get install vim sudo apt-get install vim-gtk 配置&#xff1a; 打开.vimrc文件 vim ~/.vimrc在当前用户的./vimrc文件中添加如下代码&#xff0c;保存 set ai set smarttab set tabstop4 set shiftwidth4 set expandtab set nu set guif…

Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

一、简介 在当下这个前后端分离的技术趋势下&#xff0c;前端工程师过度依赖后端工程师的接口和数据&#xff0c;给开发带来了两大问题&#xff1a; 问题一、后端接口查看难&#xff1a;要怎么调用&#xff1f;参数怎么传递&#xff1f;有几个参数&#xff1f;参数都代表什么含…

viewDidLoad等相关函数调用

viewDidLoad 此方法只有当view从nib文件初始化的时候才被调用。viewDidLoad用于初始化&#xff0c;加载时用到的。 loadView 此方法在控制器的view为nil的时候被调用。虽然经常说loadView是使用代码生成视图的时候&#xff0c;当视图第一次载入的时候调用的方法。用于使用&…

下一站,上岸@24考研er

时间过的好快&#xff0c; 考研倒计时①天 去年这个时候&#xff0c; 我应该也是充满未知地进入即将来到的考研初试 去年&#xff0c;这个时候&#xff0c;疫情&#x1f637;刚刚放开 许多人都&#x1f411;&#xff0c;发烧&#xff0c;可幸的是我受影响不大 &#x1f3…

ubuntu20.10创建QT应用程序快捷方式 Terminal中输入命令直接打开QtCreator

在Terminal中直接输入命令就能打开QtCreator&#xff0c; i.e. ~$ qtcreator就可以打开Qt Creator了。 想完成这个功能的原因是&#xff0c;一般在Linux下打命令比较方便&#xff0c;而师兄给下来的这个环境(已经打包成虚拟机&#xff0c;配置好了开发环境)&#xff0c;需要自…

NVIDIA Jetson Nano B01 安装Ubuntu 18.04.3 LTS

几乎完美安装&#xff01; NVIDIA Jetson Nano B01 Ubuntu 18.04.3 LTS 的 ROS 安装和菜鸟的踩坑记录 NVIDIA Jetson Nano B01技术规格Ubuntu 定制系统的安装 烧录时的踩坑记录 SD卡格式SD卡安全信息烧录过程中的注意事项开始安装Ubuntu进入Ubuntu系统之后的一通折腾SSH的配置…

Spring Boot(十)Logback和Log4j2集成与日志发展史

一、简介 Java知名的日志有很多&#xff0c;比如&#xff1a;JUL、Log4j、JCL、SLF4J、Logback、Log4j2&#xff0c;那么这些日志框架之间有着怎样的关系&#xff1f;诞生的原因又是解决什么问题&#xff1f;下面一起来看。 1.1 JUL Java有自己的日志框架JUL&#xff08;Java…

Zabbix配置模板监控指定服务器主机

一、Zabbix监控指定服务器 第一里程&#xff1a;在指定服务器上安装zabbix客户端&#xff0c;即zabbix-agent 访问清华镜像站&#xff0c;找到zabbix-agent镜像 第一步 第二步 第三步 第四步 第五步 第六步 第七步 第八步&#xff1a;鼠标点击右键选择复…

Spring Boot(十一)Redis集成从Docker安装到分布式Session共享

一、简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API&#xff0c;Redis也是技术领域使用最为广泛的存储中间件&#xff0c;它是「Remote Dictionary Service」首字母缩写&#xff0c;也就…

统计在从1到n的正整数中1出现的次数

问题&#xff1a; 给定一个十进制正整数N&#xff0c;写下从1开始&#xff0c;到N的所有整数&#xff0c;然后数一下其中出现的所有“1”的个数。 例如&#xff1a;N 2&#xff0c;写下1&#xff0c;2。这样只出现了1个“1”。 N 12&#xff0c;我们会写下1, 2, 3, 4, 5, 6, 7,…