当前位置: 首页 > news >正文

7、在vscode上利用cmake构建多文件C++工程

文章目录

  • (1)创建如下工程文件夹:其中头文件放在include文件夹中,源文件放在src文件夹中
  • (2)在vscode上打开工程文件夹,在对应的文件夹内建立相应的文件
    • 1)目录结构
    • 2)各文件内容
  • (3)编写CMakeLists.txt文件
  • 方法一:使用前一个博客的方法自动生成CMakeLists.txt文件后修改(这种方法会自动生成build文件夹)
    • 1)使用CMake:Quick Start等命令并配置好kit(具体步骤参考上一篇博客)
    • 2)修改CMakeLists.txt文件内容为如下
  • 方法二:直接在工程目录下创建CMakeLists.txt文件(注意需要配置好kit)
    • 1)创建CMakeLists.txt文件
    • 2)配置build文件夹等
      • 法一:这个时候vscode下面的状态栏没有显示kit工具的,所以此时应该(Ctrl+Shift+P)选择cmake:configure运行之后便显示了build
      • 法二:在终端上使用命令创建相应的目录
  • (4)编译工程
  • (5)验证文件,此时生成的可执行文件可有如下信息

(1)创建如下工程文件夹:其中头文件放在include文件夹中,源文件放在src文件夹中

在这里插入图片描述

(2)在vscode上打开工程文件夹,在对应的文件夹内建立相应的文件

1)目录结构

在这里插入图片描述

2)各文件内容

在这里插入图片描述

(3)编写CMakeLists.txt文件

这时候有两种方法可以实现

方法一:使用前一个博客的方法自动生成CMakeLists.txt文件后修改(这种方法会自动生成build文件夹)

1)使用CMake:Quick Start等命令并配置好kit(具体步骤参考上一篇博客)

在这里插入图片描述

2)修改CMakeLists.txt文件内容为如下

在这里插入图片描述

方法二:直接在工程目录下创建CMakeLists.txt文件(注意需要配置好kit)

1)创建CMakeLists.txt文件

在这里插入图片描述

2)配置build文件夹等

这时候也有两种方法选择

法一:这个时候vscode下面的状态栏没有显示kit工具的,所以此时应该(Ctrl+Shift+P)选择cmake:configure运行之后便显示了build

在这里插入图片描述

法二:在终端上使用命令创建相应的目录

a)打开终端(Ctrl+Shift+`),依次执行如下命令
在这里插入图片描述

在这里插入图片描述

b)执行完之后就编译成功了(但是这个时候vscode下面的状态栏没有显示kit工具的,所以此时应该(Ctrl+Shift+P)选择cmake:configure运行之后便显示了build)

在这里插入图片描述

(4)编译工程

在这里插入图片描述

(5)验证文件,此时生成的可执行文件可有如下信息

在这里插入图片描述

相关文章:

7、在vscode上利用cmake构建多文件C++工程

文章目录 (1)创建如下工程文件夹:其中头文件放在include文件夹中,源文件放在src文件夹中(2)在vscode上打开工程文件夹,在对应的文件夹内建立相应的文件1)目录结构2)各文件…...

Linux操作系统网络模块

Linux操作系统的网络模块是负责网络通信的核心部分。它通过实现各种协议和算法,使得计算机能够在网络中进行数据交换和通信。网络模块主要包括以下几个方面的功能: (1)IP协议栈:负责处理网络层的数据包,实…...

不同批次板子采集到的传感器压力值不同

问题描述: M340B空压机主控板在接正常压力气源时,显示屏显示压力值过高并报警。 问题排查: 确认可能的故障点:压力传感器、硬件电路(供电电路、分压电路、ADC采样电路等)、单片机、软件; 排…...

设计模式--原型模式

目录 基本介绍 传统方式克隆 原型模式改进 浅拷贝和深拷贝 浅拷贝的介绍 深拷贝的介绍 原型模式的注意事项和细节 基本介绍 (1) 原型模式(prototype模式): 用原型实例指定创建对象的种类 并且通过拷贝这些原型 创建新的对象 (2) 原型模式是一种创建型设计模式 允许一个…...

C++智能指针shared_ptr详解

智能指针shared_ptr详解 一、简介二、底层原理2.1、引用计数2.2、shared_ptr的构造和析构2.3、shared_ptr的共享和拷贝2.4、循环引用问题 三、shared_ptr的使用3.1、创建一个shared_ptr3.2、共享一个shared_ptr3.3、使用删除器3.4、解除关联 四、使用示例总结 一、简介 C智能指…...

家政服务APP小程序开发功能详解

随着人们生活水平的提高,对家政服务的要求也越来越高。而传统的到家政公司寻找服务人员的方法显然已经无法满足人们需求,取而代之的是线上预约家政服务。家政服务App小程序软件可以满足用户在线预约,还可以根据自己的需求定制家政服务、选择家…...

【C++】deque的实现原理简单介绍

前言 deque被称为双端队列,它的出现主要是为了结合vector和list的优点并减小它们的缺点,实际上deque确实结合了vector和list的优点减小了它们的缺点,但是它的结合也让它自己的优点没有原始的vector和list那么极致,导致deque变得很…...

UWB隧道人员定位技术应用,施工作业安全精准保障

隧道施工的安全不仅关系到工程项目的质量和施工效率,也关系到我国的资金安全、施工人员和人民的生命财产安全。如何有效加强隧道施工的安全管理能力,成为隧道施工企业管理者最关心的问题。国家铁道局在《关于加强铁路隧道工程安全工作的若干意见》中指出…...

15.2 矩阵链乘法

1.代码 public class MatrixChainMultiplication {public static void main(String[] args) { // 在该代码中,我们首先创建了两个n * n的矩阵m和s,分别用于记录最优值和分割点。 其中m 矩阵 通过i j 来显示在i到j的矩阵链中最优解 // // …...

向隐形冠军学习:聚焦人效,用时间管理提效益

注: 本文来源于盖雅工场联合创始人兼CEO 章新波 在2023狮山论坛“ 向隐形冠军学习: 聚焦人效,用时间管理提效益 ”的主题分享。 文|章新波 整理 |盖雅学苑 在人力资源行业以及各大企业,「人效」这个词…...

Protocol Buffers Go Generated Code Guide

Protocol Buffers Go 代码生成指南 本主题准确描述了协议缓冲区编译器为任何给定的协议定义生成的Go代码。 编译器调用 协议缓冲区编译器需要一个插件来生成Go 代码。使用Go 1.16或更高版本安装,方法是运行: go install google.golang.org/protobuf/…...

Python VTK STL 映射三维模型表面距离

目录 前言: 效果: 实现步骤: Code: 前言: 本文介绍了Python VTK映射三维模型表面距离,通过如何使用VTK计算两个三维模型(stl)的表面距离,并将其距离值以颜色映射到模型,可用于对比 两相模型…...

C# 异常处理机制和常见的异常类型

在 C# 中,异常处理是一个非常重要的概念,它可以让我们在程序发生错误时进行有效的处理,使程序具备更好的鲁棒性。C# 异常处理机制基于 try-catch-finally 语句块,其基本用法如下: try {// 可能会抛出异常的代码 } cat…...

【0187】客户端身份验证配置文件视图之pg_hba_file_rules

文章目录 1. 客户端身份验证配置文件视图2. 视图效果相关阅读: 【0179】配置PostgreSQL以允许远程连接 【0180】PG内核通过pg_hba.conf完成客户端认证(1) 【0181】PG内核通过pg_hba.conf完成客户端认证(2)...

模糊层次分析法(FAHP)Python实现

文章目录 理论基础三角模糊数概念参考 Python源码测试 理论基础 \quad 模糊层次分析法( F A H P FAHP FAHP)将模糊理论( F u z z y S e t Fuzzy Set FuzzySet)嵌入到基本层次分析法( A H P AHP AHP)中。 A …...

gdb切换窗口焦点

为了辅助调试,一般会使用layout src,调起TUI显示代码: 然而这种情况下我们写命令很不方便,无法方便地使用上一条命令、退格等。 按动上下左右方向键盘只会移动代码框,然而在伪终端下,可以用鼠标滚轮来上下…...

【Spring Security】 入门实战

文章目录 一、基本概念二、Spring Security第一个程序三、Spring Security没有生效四、修改默认账号密码(appliction.yml)五、修改默认账号密码(配置类)六、Spring Security的三个configure方法七、Spring Security的三种身份的验…...

SpringBoot的Interceptor拦截器的简介和实际使用

拦截器(Interceptor) 概念:是一种动态拦截方法调用的机制,类似于过滤器。Spring框架中提供的,用来动态拦截控制器方法的执行。 作用:拦截请求,在指定的方法调用前后,根据业务需要执行…...

5个面向Python高级开发者的技巧

使用这些用于自定义类行为、编写并发代码、管理资源、存储和操作数据以及优化代码性能的高级技术来探索 Python 的深度。 本文探讨了 Python 中的五个高级主题,它们可以为解决问题和提高代码的可靠性和性能提供有价值的见解和技术。从允许您在定义类时自定义类行为的…...

Nginx简介

Nginx是什么?可以做什么事情? Nginx是高性能的HTTP和反向代理的web服务器,处理高并发的能力十分强大,能经受高负载的考研,有报告表明能能支持高达50000个并发连接数。 特点 占有内存少:一万个长连接&…...

汽车电子测试人的 Prompt 工程

专栏:《AI 汽车电子测试实战》第 17 篇 作者:一线汽车电子测试工程师 适合人群:所有使用 AI 的测试工程师、想提升 AI 使用效率的测试人员开篇:为什么需要学 Prompt? 这是我上个月在某车企的 AI 培训项目中的真实经历。…...

基于扩散模型的歌声合成技术:DiffSinger架构解析与实践应用

基于扩散模型的歌声合成技术:DiffSinger架构解析与实践应用 【免费下载链接】DiffSinger 项目地址: https://gitcode.com/gh_mirrors/dif/DiffSinger DiffSinger作为开源歌声合成领域的创新解决方案,通过扩散模型与深度学习技术的深度融合&#…...

OpenRGB:统一多品牌设备控制的开源RGB解决方案

OpenRGB:统一多品牌设备控制的开源RGB解决方案 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Releases can …...

告别格式转换烦恼!Marker让文档转换效率提升5倍

告别格式转换烦恼!Marker让文档转换效率提升5倍 【免费下载链接】marker 一个高效、准确的工具,能够将 PDF 和图像快速转换为 Markdown、JSON 和 HTML 格式,支持多语言和复杂布局处理,可选集成 LLM 提升精度,适用于学术…...

Multisim电路设计避坑指南:红绿灯项目里那些容易忽略的时序与驱动问题

Multisim电路设计避坑指南:红绿灯项目里那些容易忽略的时序与驱动问题 当你第一次在Multisim中完成红绿灯控制电路的设计时,那种成就感确实令人兴奋。但很快,你可能就会遇到一些令人头疼的问题:黄灯闪烁频率不稳定、倒计时显示乱跳…...

计算机毕业设计springboot校园文化社区视频网站 基于SpringBoot的校园文化交流短视频平台 SpringBoot框架下的高校文化分享与视频互动系统

计算机毕业设计springboot校园文化社区视频网站94nso9 (配套有源码 程序 mysql数据库 论文)本套源码可以先看具体功能演示视频领取,文末有联xi 可分享在"互联网校园"理念全面渗透的今天,视频已成为大学生记录生活、传播…...

终极风扇控制指南:如何用FanControl 264版彻底告别电脑噪音烦恼

终极风扇控制指南:如何用FanControl 264版彻底告别电脑噪音烦恼 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Tr…...

别再只调库了!拆解一个智能家居语音项目,聊聊STM32裸机开发中多任务处理的几种实用思路

裸机开发的艺术:STM32智能家居项目中多任务处理的五种高阶策略 从智能家居项目看裸机开发的挑战与机遇 在嵌入式开发领域,RTOS(实时操作系统)的普及让许多开发者形成了思维定式——面对多任务需求时,第一反应往往是移植…...

新手避坑指南:用Python+ROS搞定AVP项目中的.bag数据读取与深度图转点云

从零开始处理AVP项目中的.bag数据:深度图与点云实战解析 停车场里75个RealSense相机同时工作,产生的.bag数据像一座未经开采的金矿——但当你第一次打开这些文件时,可能会感到无从下手。作为刚接触ROS和点云处理的新手,我清楚地记…...

基于智能体(Agent)的自动化图像工作流:Wan2.2-I2V-A14B与任务编排

基于智能体(Agent)的自动化图像工作流:Wan2.2-I2V-A14B与任务编排 1. 引言:当图像生成遇上智能体 想象一下这样的场景:你需要为电商平台制作一组节日主题的广告图,包含特定风格的背景、商品展示和人物互动…...