CMake详解-捡重要的讲

news2024/11/13 9:20:40

CMake

通常我们使用cmake构建C++项目,其实就是编写CMakeLists.txt文件,过程如下

首先在创建项目名称,我这里是CMake文件夹,在路径下创建CMakeLists.txt文件,也就是在工作空间的目录下创建,具体有几个要素要设置

  • CMake最低版本要求
  • 项目名称-自定义即可
  • 编译方法:Debug或者release
  • C++版本
  • 两个output path,这个是必要的,我们通常将cmake生成的编译文件放入build目录(这个不用给出),可执行文件放入bin目录,编译的静态库、动态库文件放入lib目录
  • include:给出头文件的搜索路径,注意其不会递归地搜索,当然可以在此处给出,也可以在子目录的CMakeLists.txt文件中给出
  • 添加子目录的cmake路径:告诉cmake这个路径下可能也有CMakeLists.txt文件,需要你去检查并编译它。因为,我们的项目文件构成是多块的,不可能把所有的文件、包、库都写入根目录的CMakeLists.txt文件中,肯定是多个CMakeLists.txt组成

如下(截图好看点)

 创建两个子文件夹,存放我们的项目文件

mkdir src

mkdir example

cd src

touch main.cpp 创建源文件

mkdir include  创建头文件的文件夹,模拟

touch main.h

在main.h中编写如下代码

仅做函数的声明

在main.cpp中编写如下代码

做函数的实现

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

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

相关文章

html+css+js网页制作 自定义电商10个页面

htmlcssjs网页制作 自定义电商10个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…

前端面试题整理-Javascript

JS组成: JS是运行在浏览器的一门编程语言 函数类型: 1. 说说 js 都有哪些数据类型,他们在内存存储上有什么不同 基本数据类型:number、boolean、string、null(null就是特殊的object)、undefined、Symbo…

循环神经网络三

一.介绍 在普通的神经网络中,信息的传递是单向的,这种限制虽然使得网络变得更容易学习,单在一定程度上也减弱了神经网络模型的能力。特别是在现实生活中,网络的输出不仅和当前时刻的输入相关,也过去一段时间的输出相关…

keepalived搭建与基础配置

目录 1 keepalived部署与环境准备 1.1 Keepalived 实验环境准备 1.2 Keepalived 相关文件 1.3 Keepalived 安装 1.4 KeepAlived 配置说明 1.5 配置语法说明 2 企业应用示例与配置 2.1 主从架构 2.1.1 启用keepalived日志功能 2.1.2 vrrp_iptables 参数 2.1.3 实现独立子配置文件…

python实现模型训练期间定时查询解析GPU资源详细信息,根据实际显存占用量动态启动新模型训练任务

经常要做模型开发训练的人一定对于GPU的查询不会陌生,实例如下: 详情数据如下: Tue Aug 13 16:42:31 2024 ----------------------------------------------------------------------------- | NVIDIA-SMI 450.80.02 Driver Versi…

oracle普通导出导入

原始的普通导出导入工具,是一个客户端工具。使用导出工具(export utility简称exp)是将数据从oracle数据库以二进制形式写入操作系统文件,这个文件存储在数据库之外,并且可以被另一个数据库使用导入工具(imp…

大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库

大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库 一、版本兼容性二、使用三、Flink SQL四、DataStream五、Lookup Join六、配置通用配置项接收器配置项查找Join配置项 七、Doris 和 Flink 列类型映射八、使用Flink CDC访问Doris的示例九、…

Unity协程WaitForSeconds在编辑器和WebGL表现不同问题的解决方法参考

最近做的一个效果让下面为了让下面这种图片生成一个翻页效果(使用ShaderGraph中的FlipBook节点),我通过携程来实现连续翻页。 先是定义一个Coroutine coroutine null; 然后在一定情况下执行coroutine StartCoroutine(KeepPrevie…

Spring入门讲解

这里写目录标题 Spring基础概念关键重点主要特性主要优势Spring与Java EE的对比Spring生态系统概述总结 Spring 基础概念 Spring是一个开源的轻量级Java开发框架,它提供了全面的基础设施支持,简化了企业级应用的开发和部署。Spring的核心理念是依赖注入…

基于华为atlas下的yolov5+BoT-SORT/ByteTrack煤矿箕斗状态识别大探索

写在前面: 本项目的代码原型基于yolov5yolov8。其中检测模型使用的yolov5,跟踪模型使用的yolov8。 这里说明以下,为什么不整体都选择yolov8呢,v8无疑是比v5优秀的,但是atlas这块经过不断尝试没有过去,所以…

前端进行分页Vue3+Setup写法

当后端不方便提供数据分页查询接口时&#xff0c;就需要前端来自己分割进行分页操作 在有可能的情况下还是建议用分页查询接口&#xff0c;减少网络数据传输 首先el-table绑定数组 分页组件&#xff0c;变量自己定义防止报错 <el-paginationlayout"->, total, siz…

Springboot实现doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频在线预览功能,你学“废”了吗?

最近工作中&#xff0c;客户需要生成包含动态内容的word/pdf报告&#xff0c;并且需要在线预览。 刚开始使用后台直接生成word文档&#xff0c;返回文件流给前端&#xff0c;浏览器预览会发生格式错乱问题&#xff0c;特别是文档中的图片有些还不显示。 想到最简单的办法就是…

在原生未启用kdump的BCLinux 8系列服务器上启用kdump及报错处理

本文记录了在原生未启用kdump的BCLinux 8系列操作系统的服务器上手动启用kdump服务及报错处理的过程。 一、问题描述 BCLinux 8系列操作系统&#xff0c;系统初始化安装时未启用kdump服务&#xff0c;手动启动时报以下“No memory reserved for crash kernel”或“ConditionK…

数学建模——评价决策类算法(层次分析法、Topsis)

一、层次分析法 概念原理 通过相互比较确定各准则对于目标的权重, 及各方案对于每一准则的权重&#xff0c;这些权重在人的思维过程中通常是定性的, 而在层次分析法中则要给出得到权重的定量方法. 将方案层对准则层的权重及准则层对目标层的权重进行综合, 最终确定方案层对目标…

解读RPA自动化流程机器人

RPA全称Robotic Process Automation&#xff0c;即机器人流程自动化&#xff0c;基于人工智能和自动化技术&#xff0c;能够将大量重复、规则明确的日常事务操作实现自动化处理&#xff0c;通常被形象地称为“数字员工”。本文金智维将深入探讨RPA的主要价值和应用领域&#xf…

除悟空CRM外,主流的6大CRM私有部署的厂商

支持私有化部署的CRM有&#xff1a;1.纷享销客&#xff1b; 2.悟空CRM&#xff1b; 3.销售易&#xff1b; 4.有赞CRM&#xff1b; 5.知客CRM&#xff1b; 6.八骏CRM&#xff1b; 7.白码CRM。 面对日益复杂的网络环境和严峻的数据保护法规&#xff0c;私有化部署的CRM系统成为了…

论文阅读笔记:Semi-DETR: Semi-Supervised Object Detection with Detection Transformers

论文阅读笔记&#xff1a;Semi-DETR: Semi-Supervised Object Detection with Detection Transformers 1 背景1.1 动机1.2 问题 2 创新点3 方法4 模块4.1 分阶段混合匹配4.2 跨视图查询一致性4.3 基于代价的伪标签挖掘4.4 总损失 效果5.1 和SOTA方法对比5.2 消融实验 论文&…

Flink开发过程中遇到的问题

1. 任务启动报错Trying to access closed classloader. Exception in thread "Thread-5" java.lang.IllegalStateException: Trying to access closed classloader. Please check if you store classloaders directly or indirectly in static fields. If the st…

基于PSO-BP+BP多特征分类预测对比(多输入单输出) Matlab代码

基于PSO-BPBP多特征分类预测对比(多输入单输出) Matlab代码 1、和市面上的不同&#xff0c;运行一个main一键出对比图&#xff0c;非常方便 2、可以根据需要定制其他算法优化模型对比 程序已经调试好&#xff0c;无需更改代码替换数据集即可运行&#xff01;&#xff01;&…

Python | Leetcode Python题解之第334题递增的三元子序列

题目&#xff1a; 题解&#xff1a; class Solution:def increasingTriplet(self, nums: List[int]) -> bool:n len(nums)if n < 3:return Falsefirst, second nums[0], float(inf)for i in range(1, n):num nums[i]if num > second:return Trueif num > first…