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

CMake笔记:PUBLIC/PRIVATE/INTERFACE的使用

基本介绍

PUBLIC: 自身以及依赖我者使用
PRIVATE: 只有自身使用
INTERFACE: 只有依赖我者使用

举例

PUBLIC: 宏BASE_TEST在base\math库中均有定义
PRIVATE: 宏BASE_TEST只在base库中有定义
INTERFACE:宏BASE_TEST只在math库中定义,在base库中没有

base库
add_library(base base.cpp)
target_compile_definitions(base INTERFACE BASE_TEST)

math库
add_library(math math.cpp)
target_link_libraries(math base)

visual studio中测试

target_link_libraries、target_compile_definitions在visual studio 2019中实际测试均是以上结果
在这里插入图片描述

http://www.dtcms.com/a/328499.html

相关文章:

  • FreeRTOS---基础知识6---事件组
  • Effective C++ 条款37:绝不重新定义继承而来的缺省参数值
  • Linux系统编程Day13 -- 程序地址空间
  • Vue3 整合高德地图完成搜索、定位、选址功能,已封装为组件开箱即用(最新)
  • 前端对接豆包AI(vue3+TS版本)
  • 力扣-739.每日温度
  • Leetcode-138. 复制带随机指针的链表
  • AI智能体的“四大支柱”:CAP框架核心层、执行层、约束层、操作层详解​
  • 手机蓝牙无感开锁在智能柜锁与智能箱包中的整体解决方案
  • Iptables 详细使用指南
  • 10-docker基于dockerfile自动制作镜像
  • 计算机网络摘星题库800题笔记 第5章 传输层
  • Ansible 详细笔记
  • _init__.py的作用
  • 电路板的GND与外壳地EARTH通过电容电阻相连
  • 操作系统1.6:虚拟机
  • 图形设计器-Qt Designer (一)包含 LinuxCNC 小部件
  • 基于LLVM的memcpy静态分析工具:设计思路与原理解析(C/C++代码实现)
  • 浏览器面试题及详细答案 88道(12-22)
  • word——选项自动对齐(针对试卷中选项对齐)
  • 2025牛客暑期多校训练营3(FDJAEHB)
  • SuperMap GIS基础产品FAQ集锦(20250811)
  • 多级库存预警:浪智WMS智慧化系统的实时监控体系
  • 启保停-----------单相照明灯的接法
  • LaTex论文审稿修改
  • Day 10-2: Mini-GPT完整手写实战 - 从组件组装到文本生成的端到端实现
  • Jmeter性能测试过程中遇到connection reset的解决方案
  • 深入解析 React 中的 useRef Hook
  • 【c++】反向赋值:颠覆传统的数据交互范式
  • day49 力扣42. 接雨水 力扣84.柱状图中最大的矩形