cmake 中经常出现的 关键词 scope 中的 三种:PUBLIC PRIVATE INTERFACE

本文主要是介绍cmake 中经常出现的 关键词 scope 中的 三种:PUBLIC PRIVATE INTERFACE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PUBLIC PRIVATE INTERFACE 是强调传播的范围,即文档中得propogate scope

啥意思,举个例子是:

A.lib 依赖 a1.h  a2.h ,B.lib 也依赖 a1.h  a2.h

如果 在使用 `target_include_directories() `函数的时候,选择 PUBLIC 选项,那么,当生成B.lib的时候,只需要 `target_link_libraries(B PRIVATE A) ` 就可以使得 B.lib 也依赖 a1.h  a2.h 了 

但是 我不可以使用 add_library() 来实现这个嘛, add_library() 和 target_include_directories() 有什么去区别?

这篇关于cmake 中经常出现的 关键词 scope 中的 三种:PUBLIC PRIVATE INTERFACE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366579

相关文章

在Spring中配置Quartz的三种方式

《在Spring中配置Quartz的三种方式》SpringQuartz是一个任务调度框架,它允许我们定期执行特定的任务,在Spring中,我们可以通过多种方式来配置Quartz,包括使用​​@Sche... 目录介绍使用 ​​@Scheduled​​ 注解XML 配置Java 配置1. 创建Quartz配置

DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed

DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed 文章目录 DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed问题解决办法 问题 使用 DBeaver 连接 MySQL 数据库的时候, 一直报错下面的错误 Public Key Retrieval is

Cmake之3.0版本重要特性及用法实例(十三)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧

zblog自定义关键词和描述,zblog做seo优化必备插件

zblog自定义关键词和描述,zblog做seo优化必备插件     首先说下用到的一款插件:CustomMeta自定义数据字段 ,我们这里用到的版本是1.1,1.1+版增加了列表页标签支持!     插件介绍:文章,分类等添加自定义数据字段。1.1+版适用于 Z-Blog 2.0 B2以上版本。     在zblog2.0beta1里面,这个插件是集成到了程序里面,beta2里面默认没有了

ubuntu通过apt的方式更新cmake到最新版(ppa)

添加签名密钥 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - 将存储库添加到您的源列表并进行更新 稳定版 sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic ma

一个统计文件中关键词数量的小程序-优化版本

public class computeWxxFileNum{public static void main(String[] args) throws IOException {//读文件File sourceFile = new File("e:\\55-tmp\\xxx.log");FileReader in = new FileReader(sourceFile); LineNumber

一个统计文件中关键词数量的小程序

public class computeFileNum{public static void main(String[] args) throws IOException {File sourceFile = new File("e:\\55-tmp\\xxx.log"); FileReader in = new FileReader(sourceFile); LineNumberReader

Windows下使用cmake编译OpenCV

Windows下使用cmake编译OpenCV cmake下载OpenCV下载编译OpenCV cmake下载 下载地址:https://cmake.org/download/ 下载完成,点击选择路径安装即可 OpenCV下载 下载地址:https://github.com/opencv/opencv/releases/tag/4.8.1因为我们是编译OpenCV,下图选择

gcc make cmake例程

main.cpp文件: #include <iostream>#include "utils.h"int main(void) {int a = 1;int b = 2;int c = AddFunc(a, b);std::cout<< c <<std::endl;return 0;} utils.h文件: #pragma onceint AddFunc(int a, int b);

结构化开发方法的三种基本控制结构

结构化开发方法概述 什么是结构化开发方法? 结构化开发方法是一种程序设计和系统开发的理念,旨在通过使用清晰、可预测的控制结构来提高程序的可读性、可维护性和可靠性。该方法强调使用标准化的编程结构,以减少程序中的错误并提高代码的逻辑清晰度。 结构化编程的历史背景 结构化编程(Structured Programming)这一概念最早由计算机科学家艾兹赫尔·戴克斯特拉(Edsger W. Dij