VSCode与CMake搭配使用之基本配置

2023-05-16

1.首先安装VSCode插件CMake和CMake Tools

在这里插入图片描述

  • CMake插件主要功能是CMake语法高亮、自动补全
  • CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具,比如生成CMake项目、构建CMake项目等

2.新建CMake项目

Ctrl+Shift+p打开VSCode的指令面板,然后输入cmake:q,VSCode会根据输入自动提示,然后选择CMake: Quick Start

在这里插入图片描述

然后选择适合你的编译器(VSCode会将你安装的编译器都罗列出来供你选择。如果你是交叉编译,那么就可以在这里配置你的交叉编译器),为方便演示这里我们选择GCC7.4.0

在这里插入图片描述

然后根据提示输入项目名称:

在这里插入图片描述

然后选择该项目是创建库还是可执行文件,为了演示方便这里我们选择可执行文件Executable

在这里插入图片描述

然后VSCode就会为你生成一个CMake项目,如下所示:

在这里插入图片描述

  • build文件夹是cmake指令的输出文件夹
  • 默认生成的CMakeLists.txt文件
  • 默认生成的main.cpp文件

3. 编译项目

当然你可以在命令行中执行:

cd build
cmake ..

但是VSCode提供了更便捷的方式(点击底部的Build):

在这里插入图片描述

或者在VSCode的命令面板中选择build命令(输入cmake后VSCode会帮你列出所有支持的命令):
在这里插入图片描述

4. 调试

首先在源码中打上断点:

在这里插入图片描述

然后配置调试环境:

在这里插入图片描述

在这里插入图片描述

然后就会自动跳入调试界面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RBBLkGYw-1595251758476)(…/…/…/assets/images/tools/vscode/vscode_cmake_debug_done.png)]
在这里插入图片描述

下次进入调试有两种方法:

  1. 点击VSCode底部的Debug选项
  2. Ctrl+Shift+p在VSCode的命令面板中选择CMake:Debug

5. 设置CMake变量

在.vscode/setting.json文件中可以设置CMake变量,示例如下:

{
    "cmake.buildDirectory": "${workspaceRoot}/build/local",
    "cmake.buildArgs": [
        "--parallel"
    ],
    "cmake.configureOnOpen": false,
    "cmake.autoRestartBuild": true,
    "C_Cpp.default.configurationProvider": "vector-of-bool.cmake-tools",
    "C_Cpp.default.cStandard": "c11",
    "C_Cpp.default.cppStandard": "c++17",
    "C_Cpp.workspaceParsingPriority": "medium",
}

6. 参考链接

CMake Tools官方文档

更多精彩内容,请关注微信公众号“边缘智能实验室”

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode与CMake搭配使用之基本配置 的相关文章

随机推荐

  • 高超声速滑翔飞行器摆动式机动突防弹道设计(源代码)

    谢愈 xff0c 刘鲁华等 xff0c 高超声速滑翔飞行器摆动式机动突防弹道设计 xff0c 航空学报 xff0c 2011 算法有两个控制量 xff1a 攻角和倾侧角 xff0c 攻角只是起辅助作用 xff0c 主要还是倾侧角的设计 由于
  • 4轴开发之串级PID调试技巧

    欢迎查看我原始的出处 xff1a http lindue com 17868 html 调节串环 PID 大概过程 xff08 注意修正反向 xff09 1 估计大概的起飞油门 2 调整角速度内环参数 3 将角度外环加上 xff0c 调整外
  • 2013第四届蓝桥杯省赛C++C组【第四题:幻方填空】

    第四题 标题 xff1a 幻方填空 题目描述 xff1a 幻方是把一些数字填写在方阵中 xff0c 使得行 列 两条对角线的数字之和都相等 欧洲最著名的幻方是德国数学家 画家迪勒创作的版画 忧郁 中给出的一个4阶幻方 他把1 2 3 16
  • SLAM 02.整体框架

    上一篇文章是从人类角度来分析SLAM技术 xff0c 其实任何计算机技术的实现都是从人类思维出发去解决实际问题 本篇从技术实现角度讲解SLAM的实现框架 SLAM在自主导航中的位置 在整个移动机器人自主导航 xff08 包括自动驾驶 xff
  • SLAM 04.视觉里程计-1-相机模型

    相机模型是理解视觉里程计之前的基础 本文主要是对高翔博士的 SLAM十四讲 的总结 视觉里程计就是要根据相机拍摄的多幅图像估计出机器人当前的位置 xff0c 然后再重建地图 单目相机 相机模型里涉及到如下几个坐标 xff1a 空间坐标 物理
  • 第n次安装ros遇到的第n个问题

    自从入坑ros以来 xff0c 在导师公司的要求下 xff0c 我在无数的台式机 xff0c 工控机 xff0c 笔记本里刷linux系统 xff0c 搭ros环境 按照百度的安装教程 xff1a 换源 但是每次都能遇到不同稀奇古怪的问题
  • c/c++常用资源 c/c++书籍下载

    c c 43 43 常用资源 aix在线文档 xff1a http publib16 boulder ibm com cgi bin ds rslt 1 各种c c 43 43 编译器 http www clipx net norton p
  • 关于Android应用支持IPV6

    今天看了一些关于Android应用关于支持IPV6的问题 xff0c 简单记录 ipv从地址来说比v4多了 xff0c 长度更长 1 正常来说OKHttp xff0c XUtils等上层网络框架是支持ipv6的 但是如果你的应用中用到了so
  • 面试 | 推荐几个程序员刷题的网站!面试必备!!!

    经常有朋友问我 xff0c 有没有在线刷题的网站推荐 为什么要用线上刷题呢 xff1f 确实有一定好处 xff0c 线上的笔试题有自动更新 xff0c 可以记录你刷题的记录 xff0c 更好的来统计你的错误率和错误题型 最主要的是方便 xf
  • Docker镜像构建过程记录

    Docker镜像构建过程记录 为公司一个java工程 xff0c 构建一个docker镜像 xff0c 并将镜像存入私有库中 记录一下操作过程 1 打包 这是一个spring boot的maven工程 xff0c 打包命令就很简单了 spa
  • 直流可调稳压电源的Proteus仿真设计(附仿真+论文等资料)

    注意 xff1a 全套资源获取 xff0c 请见文末说明 设计要求 1 输出电压在1 25V 37V可调 xff1b 2 最大输出电流为1 5A xff1b 3 电压调整精度达0 1 xff1b 摘要 直流稳压电源由电源变换器 桥式整流滤波
  • GPT PMBR size mismatch 解决方法

    https blog csdn net agave7 article details 83177858 root 64 debian home liyezhen src sbk debian 32bit build product tool
  • react router路由传参三种方式

    react router路由传参三种方式 xff1a 通过通配符传参 query传参和state传参 1 通配符传参 Route定义方式 xff1a lt Route path 61 39 path name 39 component 61
  • ROS与GAZEBO实时硬件仿真(4)——深入理解与总结

    声明 xff1a 本博客是对博主无人的回忆所写的ROS与GAZEBO实时硬件仿真系列文章的自我理解与总结 xff0c 所写内容是基于该博主的三篇博文的 xff0c 如果有幸被人参考 xff0c 建议先看完该博主的三篇文章再来看这篇文章 三篇
  • 最短路径算法之AStar算法(二) A Star算法需要注意的问题

    上篇文章中证明了A Star算法 xff0c 下面 xff0c 我们来看看该算法中需要注意的几个问题 1 xff0c 在扩展节点M时 xff0c 计算了其后继节点N的F值 xff0c 发现N节点已经在open链表中 xff0c 并且新的F值
  • yolo论文中IOU/AP/MAP/NMS概念详解

    之前在只看了一遍吴恩达神经网络下写了一篇Darknet yolov2的综述 xff0c 最近接着往下学时发现很多基础的概念不是很懂 xff0c 所以这篇解决一下寸疑问题 1 卷积滑动窗口 滑动窗口大家都了解的 xff0c 从图片的左上角开始
  • ANO匿名飞控STM32代码解读(一)任务调度——Ano_Scheduler.c

    我所学习的代码是匿名飞控使用STM32芯片ANO PioneerPro 20190825的版本 匿名飞控的整体代码是跑裸机的 xff0c 任务调度是用STM32F4芯片中的系统时钟计时 xff0c 做了一个任务调度系统 xff0c 举个例子
  • 地面坐标系与机体坐标系的转换和欧拉角

    大家在入门四旋翼飞行器数学模型时第一个遇到的就是坐标系的转换 这篇文章用尽量浅显的语言为大家讲解坐标系的转换的欧拉角 机体坐标系 原点O取在飞机质心处 Xb轴指向机头 Yb轴指向机身右方 Zb指向机身下方 地面坐标系 在地面上选一点Og x
  • 飞桨AIStudio基础操作

    目录 执行和调试 多文件代码编辑 上传Notebook Notebook快捷键 Notebook中使用Shell命令 查看文件夹目录 使用pip来安装自己需要的package 但不支持apt get 查看当前环境中安装的package 持久
  • VSCode与CMake搭配使用之基本配置

    1 首先安装VSCode插件CMake和CMake Tools CMake插件主要功能是CMake语法高亮 自动补全CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具 xff0c 比如生成CMake项目 构建C