cmake 构建路径_新手必备:win10 系统下 VSCode+CMake+Clang+GCC 环境的搭建

打算用C/C++把基本的数据结构与算法实现一遍, 为考研做准备, 因为只是想实现算法和数据结构, 就不太想用VisualStudio, 感觉VSCode不错, 遂在网上找了一些教程, 结合自己的需求, 配置一下开发环境。

安装软件

1、CMake

CMake是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程;

官网下载安装, 傻瓜式操作;

记得把安装目录下的bin文件添加到系统环境变量, 这个可以在安装的时候勾选, 勾选了就不用自己添加了;

f90e11a979357b4fbfad42c18052fc0c.png
8a430ddeaf6c3ed571fd8888e037e4c0.png

检测是否安装成功;

01b6421d454a0b6111cd0124b4e1e7ed.png

2、MinGW

MinGW即Minimalist GNU For Windows,是将GNU开发工具移植到Win32平台下的产物,是一套Windows上的GNU工具集。简单说,MinGW是一个编译环境; 相当于linux下的GCC;

官网下载链接

0eb936f3017d93b9d18f97f5631ec848.png


安装好将安装目录下的bin文件夹的路径添加到环境变量:

cd162236dfbf56e7bbb73c5483f453dd.png

3、Clang

类似GCC的编译器, 它的目标是干死GCC(网上看到别人这么说的).

维基百科

Clang(发音为/ˈklæŋ/类似英文单字clang[1]) 是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。它采用了LLVM作为其后端,而且由LLVM2.6开始,一起发布新版本。它的目标是提供一个GNU编译器套装(GCC)的替代品,支持了GNU编译器大多数的编译设置以及非官方语言的扩展。作者是克里斯·拉特纳(Chris Lattner),在苹果公司的赞助支持下进行开发,而源代码许可是使用类BSD的伊利诺伊大学厄巴纳-香槟分校开源码许可。

VSCode中可以用它来提供智能提示;

官网下载

0a14f0410712eb9b342fff7bf7561b2e.png

傻瓜式安装, 安装好把安装目录下的bin文件夹的路径添加到环境变量;

0d85de972c8e4a2844430447d39323fa.png

安装VSCode插件

如图, 安装好图中的插件:

b2efb64277783b1e902cfbdd20c1074c.png

新建文件夹, 开始撸代码

981b401128418ac43817e53a56805e49.png

main.cpp

abafde2360470a63695ba6b357a7380a.png

CMakeList.txt

f6499737938cbebbd15039ac5ada4f35.png

配置 c_cpp_properties.json

键盘按下:ctrl+shift+p

3b1bb7f60a0b51ee8bb669f611434bdb.png
1b85b0ace48d1f05ee3f53103ef23654.png

配置CMake

按快捷键:ctrl+shift+p

按下图操作:

3fa8a0cbd914586deb9a71faf4d12be3.png
2bb01bd2b0a7444d07b1e1be3aa6ebd8.png
124edb7d48670eaf7d40cb74f3b2073e.png

这里操作好就可以进行编译生成exe文件了:

6b8f2aa7063dc64833a31742a814647d.png
dca1b1e506ed4c4da11a06338c16c2f0.png

配置调试文件 launch.json 和 task.json

使用gdb进行调试.

快捷键:F5->C++ (GDB/LLDB)->g++.exe build and debug actvive file

vscode 会自动生成一个默认的 launch.json 和 task.json

编辑launch.json和task.json, 注意加了注释的地方都是要修改的;

task.json

b67b71c9723f53a370cab97e34ad5302.png

launch.json

456e5e07452627f319f7a54393a0a44e.png

编译和调试

编译 快捷键:F7

调试 快捷键:F5

想要在程序员生涯内有更高的成就的话,C/C++就是一个既可以强化思维能力,又可以打好编程基础的编程语言,你想要做软件开发,成为核心程序员的话,学习C/C++的话笔者有一个C/C++的编程俩千人羣(Q艘索:C/C++编程学习13)羣你如果感觉自学C/C++语言有困难的话,有兴趣学习或者了解一下C/C++编程的小伙伴就可以进来交流。

0f146be2fdcd657083e4b699488ddef3.png

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

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

相关文章

一文带你了解腾讯位置服务的开发与接入

背景:地图是空间信息的图形传递形式,是信息传输工具之一。编图者须充分掌握原始信息,研究制图对象,结合用图要求,合理使用地图语言,将信息准确地传递给用图者。用图者须熟悉地图语言,深入阅读分析地图信息,形成对制图对象正确而深刻的认识。 腾讯位置服务为各类应用厂商…

网络安全单兵工具 -- YAKIT

网络安全单兵工具 -- YAKIT 一、下载及安装 1、原作者及下载地址 https://github.com/yaklang/yakit2、双击下载好的exe文件,点击核心引擎安装与升级 3、点击意见更新Yak引擎 4、以管理员启动 5、点击连接引擎 二、使用方法 1、扫描端口/指纹 2、爆破与未授权 3、专…

Java - 文件(IO流)

Java - 文件 (IO)流的分类:> 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter> 缓冲流:BufferedInputOutStream | BufferedOutputStream | BufferedReader | BufferedWriter> 转换流:InputStreamR…

windows配置samba客户端_如何搭建与Windows客户机结合使用的Samba文件服务器?

据Samba项目网站声称,Samba是一组开源/免费软件套件,它为SMB/CIFS客户机提供了无缝顺畅的文件和打印服务。不像实现SMB/CIFS网络协议的其他系统(比如面向HP-UX的LM Server、面向OS/2的LAN Server或VisionFS),Samba(及其源代码)可以免费获取(最…

Apache 降权 禁用php,Windows下的apache降权

0x00 准备与目标 目标:apache服务降权 操作系统: Windows Server 2012 R2 Standard 环境:phpstudy2018 0x01 操作 1.安装启动服务 打开phpstudy2018,其他选项菜单--》服务管理器--》Apache--》安装服务。 运行模式选择系统服务&am…

孙叫兽进阶之路之压力与绩效

前言:如果我们把拉弦比作压力,把箭比作人,把箭的射程比作工作绩效,我们可以看到:压力对促进工作绩效有着一定的积极作用,但压力如果超出了人的承受范围,就会产生消极的影响。 具有挑战性能产生积极性压力最好,记住“今天工作不努力,明天努力找工作”

openjdk_从CLI监视OpenJDK

openjdk目前,我大部分时间都在Java虚拟机 (JVM)中和周围进行大量工作,大部分时间是在Linux上。 当事情变得不对劲并且我试图确定原因时,我接触了Java性能分析工具。 这些工具有两种形式,一种是精美的GUI&am…

Html.RenderPartial和Html.Partial在Razor视图中的区别

Html.RenderPartial和Html.Partial在Razor视图中的区别两者都可以输出一个Partial视图;其区别如下:1. Partial有返回值(MvcHtmlString);RenderPartial没有返回值(Void)。  定义 1 //PartialExtensions.Partial 方法 (HtmlHelper, String) 2…

孙叫兽进阶之路之软件测试基础知识

简介:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 从是否关心软件内部结构和具体实现的角度划分,测试方法主要有白盒测试和黑盒测试。白盒测试方法主要有代码检査法、静态结构…

交叉驰豫的影响因素_深度讲解:膝关节韧带为什么容易断裂?这5点因素影响非常大...

小科普:ACL 膝关节前交叉韧带 PCL后交叉韧带除了了解ACL损伤机制,弄清ACL损伤的风险因素对预防ACL损伤也是至关重要的。ACL损伤的风险因素也包括解剖学因素、生物力学因素、神经肌肉因素。所有的风险因素的确定有助于预防损伤。解剖学风险因素包括关节松…

CNVD-2022-10207:向日葵RCE

一:漏洞摘要 向日葵远程控制是一款面向企业和专业人员的远程pc管理和控制的服务软件。可以在任何有网络的情况下,轻松访问并控制安装了向日葵客户端的远程主机。同时还能实现远程文件传输、远程视频监控等功能,这不仅为用户的使用带来很多便捷…

手把手教你用Java设计并实现一个城市公交查询系统

背景:近年来, Internet推动了以互联网技术为核心的各项工作蓬勃展开,互联网的强大也大大的促进了社会的发展,整个社会信息化进程逐步加快,网络也变成了我们日常活动中越来越重要的组成成分。为了使得我国公交乘客出行及查询有关信息更方便,本文运用JAVA语言技术,Jsp技术,…

[Cogs14] [网络流24题#1] 飞行员分配方案 [网络流,最大流,二分图匹配]

经典二分图匹配&#xff0c;可以用匈牙利算法&#xff0c;也可以用最大流 代码如下&#xff08;Dinic&#xff09;&#xff1a; #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <c…

叉/连接框架

本文是我们学院课程中名为Java Concurrency Essentials的一部分 。 在本课程中&#xff0c;您将深入探讨并发的魔力。 将向您介绍并发和并发代码的基础知识&#xff0c;并学习诸如原子性&#xff0c;同步和线程安全之类的概念。 在这里查看 &#xff01; 目录 1.简介 2.叉/连…

python 建筑建模_不可错过的python 街道数据爬取和分析神器!

hello 大家好&#xff01;最近遇到一堆关于街道数据分析的问题&#xff0c;又不想去使用百度和高德的API&#xff0c;有的功能还是得付费&#xff0c;为了学习不想掏钱&#xff0c;那么有什么办法么&#xff1f;答&#xff1a; 有&#xff01;必须有&#xff01;今天给大家分享…

​qemu-img 转换:raw、qcow2、qed、vdi、vmdk、vhd虚拟磁盘格式

qemu-img 转换&#xff1a;raw、qcow2、qed、vdi、vmdk、vhd 所述的qemu-IMG转换命令可以执行多种格式&#xff0c;包括之间的转换qcow2&#xff0c;qed&#xff0c; raw&#xff0c;vdi&#xff0c;vhd&#xff0c;和vmdk。 qemu-img 格式字符串 图片格式 qemu-img 的参数 …

我是如何使用git把本地代码上传到CODECHINA上的,值得借鉴

背景&#xff1a;最近开发了一款城市公交查询系统。没有把代码上传到github&#xff0c;传到CODECHINA试试&#xff0c;先占个坑。 首先进入自己的个人主页&#xff0c;没有自己资料信息的先设置一下&#xff0c; codeChina官网&#xff1a;https://codechina.csdn.net/ 上传需…

Vmware中centos7共享文件夹

1.安装vmtools的步骤 1.进入centos 2.点击vm菜单的->install vmware tools 3.centos会出现一个vm的安装包 &#xff0c;xx.tar.gz 4.拷贝到/opt 5.使用解压命令tar&#xff0c;得到一个安装文件 cd /opt //进入到opt目录 tar -zxvf xx.tar.gz //解压缩命令 …

Cookie和Session简介与区别

1、Cookie和Session简介与区别 在非常多时候&#xff0c;我们需要跟踪浏览者在整个网站的活动&#xff0c;对他们身份进行自动或半自动的识别&#xff08;也就是平时常说的网站登陆之类的功能&#xff09;&#xff0c;这时候&#xff0c;我们常采用Cookie与 Session来跟踪和判断…

电感发出声音怎么解决_如何解决多层PCB设计时的EMI

解决EMI问题的办法很多&#xff0c;现代的EMI抑制方法包括&#xff1a;利用EMI抑制涂层、选用合适的EMI抑制零配件和EMI仿真设计等。本文从最基本的PCB布板出发&#xff0c;讨论PCB分层堆叠在控制EMI辐射中的作用和设计技巧。电源汇流排在IC的电源引脚附近合理地安置适当容量的…