编译选项与常用环境变量
一、编译选项与常用环境变量
1、命令选项
-D 相当于就是定义,-D 可以理解为告诉cmake 后边我要定义一些参数,每定义一个就在前边加上-D就可以了,示例:
#!/bin/shcmake -DTEST_DEBUG=ON .
cmake --build .
2、编译选项
下面列出来的是cmake常用的编译选项
编译选项 | 功能 |
---|---|
BUILD_SHARED_LIBS | 使用 ADD_LIBRARY 时生成动态库 |
BUILD_STATIC_LIBS | 使用 ADD_LIBRARY 时生成静态库 |
CMAKE_C_FLAGS | 设置 C 编译选项,也可以通过指令 ADD_DEFINITIONS()添加 |
CMAKE_CXX_FLAGS | 设置 C++编译选项,也可以通过指令 ADD_DEFINITIONS()添加 |
CMAKE_CXX_COMPILER | 指定C++编译器,例如:set(CMAKE_CXX_COMPILER “g++”) |
CMAKE_C_COMPILER | 指定C编译器,例如:set(CMAKE_C_COMPILER “gcc”) |
CMAKE_VERBOSE_MAKEFILE | 显示详细的原始编译信息,主要定位一些编译问题,例如:set(CMAKE_VERBOSE_MAKEFILE ON) |
3、CMake环境变量
下面列出来的是一些常用的环境变量
环境变量 | 描述 |
---|---|
CMAKE_CURRENT_SOURCE_DIR | 当前处理的 CMakeLists.txt 所在的路径(绝对路径) |
PROJECT_NAME | 通过 PROJECT 指令定义的项目名称 |
相关文章:
编译选项与常用环境变量
一、编译选项与常用环境变量 1、命令选项 -D 相当于就是定义,-D 可以理解为告诉cmake 后边我要定义一些参数,每定义一个就在前边加上-D就可以了,示例: #!/bin/shcmake -DTEST_DEBUGON . cmake --build .2、编译选项 下面列出来的…...

【SpringBoot2】SpringBoot开发实用篇
SpringBoot开发实用篇 KF-1.热部署 什么是热部署?简单说就是你程序改了,现在要重新启动服务器,嫌麻烦?不用重启,服务器会自己悄悄的把更新后的程序给重新加载一遍,这就是热部署。 热部署的功能是如…...
接口自动化测试框架搭建全部过程
思想: 1、基本目录的搭建 report:静态输出目录(报告或者日志) data:静态输入目录(可以存放Excel数据,被读取的一些数据) utils:实用方法层(这里存放的是项目的公共方法,一般拿到别…...
SQL学习(十)--DML_多表查询(针对数据表记录的join查询、子查询的操作)
目录 1. 多表查询 -- 内连接查询 1.1 显示内连接 1.2 隐式内连接 2. 多表连接 -- 外连接查询...
Docker容器部署
Docker容器部署 为什么使用Docker什么是Docker类比用途 Docker基于Windows集成IDEA在window上安装docker设置Docker配置IDEA连接Docker测试启动SpringBoot应用测试 Docker基于Linux集成IDEA连接宿主机redis服务连接Docker中redis服务 为什么使用Docker 在和前端联调的过程中&a…...

26岁转行网络安全,成功上岸安全开发!
前言 我是去年 9 月 22 日才正式学习网络安全的,之前在国营单位工作了 4 年,在长沙一个月工资只有 5000 块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。 而且国营单位的气氛是你干的多了&a…...

涨点技巧: 谷歌强势推出优化器Lion,引入到Yolov8,内存更小、效率更高,秒杀Adam(W)
1.Lion优化器介绍 论文:https://arxiv.org/abs/2302.06675 代码:automl/lion at master google/automl GitHub 1.1 简单、内存高效、运行速度更快 1)与 AdamW 和各种自适应优化器需要同时保存一阶和二阶矩相比,Lion 只需要动量,将额外的内存占用减半; 2)由于 Lion…...

5年测试经验,自动化都不会?月薪11K都难拿....
我接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的同行。 我从事软件自动化测试已经近十年,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了解…...

低代码平台名声臭,用起来却真香——60%开发者不敢承认
群体盲从意识会淹没个体的理性,个体一旦将自己归入该群体,其原本独立的理性就会被群体的无知疯狂所淹没。——《乌合之众》 不知道从什么时候开始,“低代码不行”的论调充斥着整个互联网圈子,csdn、掘金、知乎、B站、脉脉……到处…...
PHP 的代码简洁之道(Clean Code PHP)
介绍 Robert C.Martin’s 的 软件工程师准则 Clean Code 同样适用于 PHP。它并不是一个编码风格指南,它指导我们用 PHP 写出具有可读性,可复用性且可分解的代码。 并非所有的准则都必须严格遵守,甚至一些已经成为普遍的约定。这仅仅作为指导方…...
delphi在两个窗口间用消息通讯
用SendMessage在窗口间通讯: 发送方 var HWD: THandle; str1,str2:string; sData: TCopyDataStruct; begin HWD:FindWindow(nil,pchar(aaaaaa)); // Integer(pchar(self.Edit2.Text)) str2:我来了中玉人; str1:我来了中玉人; sData.cbDa…...

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

【科普】PCB为什么常用50Ω阻抗?6大原因
在PCB设计中,阻抗通常是指传输线的特性阻抗,这是电磁波在导线中传输时的特性阻抗,与导线的几何形状、介质材料和导线周围环境等因素有关。 对于一般的高速数字信号传输和RF电路,50Ω是一个常用的阻抗值。 为什么是50Ω?…...

Linux嵌入式uboot使用tftp网络启动加载zImage、设备树
文章目录 一、前言二、Linux U-boot 相关命令(1)help 命令(2)printenv 命令(3)setenv 函数(4)saveenv 函数 三、tftp启动linux内核步骤(1)进入u-boot模式&…...

使用Serv-U搭建FTP服务器并公网访问【内网穿透】
文章目录 1. 前言2. 本地FTP搭建2.1 Serv-U下载和安装2.2 Serv-U共享网页测试2.3 Cpolar下载和安装 3. 本地FTP发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角,智能…...

后端大厂面试总结大全六
目录: 1、Transactional注解控制事务有哪些不生效的场景2、MySQL的优化 1、Transactional注解控制事务有哪些不生效的场景 数据库引擎不支持事务数据源没有配置事务管理器没有被spring管理方法不是public的同一个类中方法调用,导致Transactional失效 举…...
2023五一数学建模A题B题C题思路模型代码
占个位置吧,开始在本帖实时更新五一数学建模赛题思路代码,文章末尾获取! 持续为更新参考思路 赛题思路 会持续进行思路模型分析,下自行获取。 A题思路: (比赛开始后第一时间更新) B题思路…...

Redis --- 入门、数据类型
一、前言 1.1、什么是Redis Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。 基于内存存储,读写性能高适合存储热点…...

超级详解MySQL执行计划explain
1、什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解。 MySQL本身的功能架构分为三个部分,分别是 应用层、逻辑层、物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构…...
C++流操作
C引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。 在C中标准库提供三个类用于文件操作,统称为文件流类: ifstream:专用于从文件中读取数据;ofs…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...
Vue 3 + WebSocket 实战:公司通知实时推送功能详解
📢 Vue 3 WebSocket 实战:公司通知实时推送功能详解 📌 收藏 点赞 关注,项目中要用到推送功能时就不怕找不到了! 实时通知是企业系统中常见的功能,比如:管理员发布通知后,所有用户…...

边缘计算网关提升水产养殖尾水处理的远程运维效率
一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...