CMake基本使用

news/2024/11/26 5:28:53/

重要指令

cmake_minimum_required:指定CMake最小版本要求

project:定义工程名称,并可指定语言

set:显示的定义变量

include_directories:向工程添加多个特定头文件搜素路径

link_directories:向工程添加多个特定库文件搜素路径

add_library:生成库文件

add_compile_options:添加编译参数

add_executable:生成可执行文件

target_link_libraries:为target添加需要连接的共享库

add_subdirectory:向当前工程添加存放源文件的子目录

aux_source_directory:将一个目录下所有文件存放在变量中

常用变量

CMAKE_C_FLAGS

CMAKE_CX_FLAGS

CMAKE_BUILD_TYPE

构建方式

内部构建:默认生成

外部构建:在build下生成

安装

make install:为了安装一些文档或者库

实战

我们通过安装一个hello库实现调用。

1.构建库

 2.安装库

 安装命令

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

3.使用共享库

 


http://www.ppmy.cn/news/49742.html

相关文章

编译器的过度优化

前言 编译器在进行优化的时候,可能为了效率而交换不相关的两条相邻指令的执行顺序。也就是指令重排,这也就引发了一些问题,下面就带大家看两个经典的问题。 单例模式 第一个例子来自单例模式的双加锁,下面是典型的双加锁的单例…

使用FFMPEG库将PCM编码为AAC

准备 ffmpeg 版本4.4 准备一段48000Hz 2 channel f32le 格式的PCM原始数据 这里我们直接使用ffmpeg命令行提取 ffmpeg -i beautlWorld.mp4 -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm -ar 采样率 -ac 音频通道 -f f32le 音频样本数据存储格式(f32 ---- float…

如何高效提高倾斜摄影三维模型顶层合并的技术方法分析

如何高效提高倾斜摄影三维模型顶层合并的技术方法分析 1、倾斜摄影三维模型顶层合并 1.1倾斜摄影三维模型是一种基于倾斜摄影技术,通过多个角度拍摄同一区域的影像,利用计算机图像处理和三维重建技术生成的三维地理信息数据。由于一个大区域可能需要多块…

网络安全与攻防-同源策略

目录 同源策略(浏览器控制) 定义 思考: 跨域的N种方法 Jsonp 跨域资源共用(CORS) 预检(OPTIONS请求) 代理服务(优先考虑) 实战CORS(Fetchnode.js&…

【Qt】QString与QChar的源码学习及二者与Unicode的关系【2023.04.20】

简介 本文是关于QString乱码的一些补充。主要就两点,QChar、QString底层存储的字符都是16进制的Unicode编码。会结合源码进行“刨根问祖”。 QChar QChar对应16位的Unicode字符集。 The QChar class provides a 16-bit Unicode character. In Qt, Unicode charact…

Redis问题

一、认识Redis 1. 什么是 Redis? Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。Redis 提供了多种数据类型来支持不同的业务场景&#…

Springboot结合线程池的使用

1.使用配置文件配置线程的参数 配置文件 thread-pool:core-size: 100max-size: 100keep-alive-seconds: 60queue-capacity: 1配置类 Component ConfigurationProperties("thread-pool") Data public class ThreadPoolConfig {private int coreSize;private int ma…

zabbix配置钉钉机器人告警

1.在钉钉上创建一个钉钉群组 2.在群组中添加一个机器人 3.配置zabbix server调用钉钉接口的代码(使用python) 查看是否有python环境 python --version 找到zabbix 的AlertScriptsPath目录路径 cat /etc/zabbix/zabbix_server.conf|grep AlertScriptsPath 将调用钉钉接口的py…