cmake进阶:目录属性之 INCLUDE_DIRECTORIES说明二

一.  简介

前面几篇文章学习了 cmake的一些目录属性,主要有两个重要的目录属性INCLUDE_DIRECTORIES 属性、LINK_DIRECTORIES 属性。文章如下:

cmake进阶:目录属性之 INCLUDE_DIRECTORIES-CSDN博客

本文学习 父目录的 INCLUDE_DIRECTORIES 填充 子目录的 INCLUDE_DIRECTORIES 属性。

二.  父目录的 INCLUDE_DIRECTORIES 填充 子目录的 INCLUDE_DIRECTORIES 属性

父目录的 INCLUDE_DIRECTORIES 属性可以初始化、填充子目录的 INCLUDE_DIRECTORIES 属性。

假如有如下工程目录:

顶层 CMakeLists.txt文件的代码如下所示:

# 父源码
cmake_minimum_required(VERSION 3.5)
project(TEST)#调用 include_directories 添加 2 个目录
include_directories(include hello)
get_directory_property(p_list INCLUDE_DIRECTORIES)
message("${p_list}")#调用子源码
add_subdirectory(subdir)

subdir子目录 CMakeLists.txt文件的代码如下:

#子源码
get_directory_property(c_list INCLUDE_DIRECTORIES)
message("${c_list}")

进入 build目录下,执行"cmake .." 命令后,打印信息如下:

关于头文件搜索路径学习到这里。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC DLL注入失败一些错误总结

使用cheat Engine为MFC窗口程序注入DLL时一定要注意,被注入的exe程序和注入的DLL 的绝对路径中一定不要带有中文字符,否则会遇到各种各样的奇怪错误,如下所示: 以下是dll绝对路径中均含有中文字符,会报错误&#xff…

python从0开始学习(五)

目录 前言 1、顺序结构 2、选择结构 2.1双分支结构 2.2多分枝结构 2.3嵌套使用 2.4多个条件的链接 总结 前言 在上篇文章中,我们学习了python中的运算符,本篇文章继续往下讲解。本篇文章主要讲解程序的组织结构。 1、顺序结构 顺序结构是程序按照…

407627-60-5,AF647 NHS酯一种高亮度的红色荧光试剂

一、产品概述 中文名称:Alexa Fluor 647活化酯,AF647 NHS酯,AF 647 琥珀酰亚胺酯 英文名称:AF647 NHS,Alexa Fluor 647 NHS ester CAS号:1620475-28-6,407627-60-5,1453856-34-2 …

uniapp video 层级覆盖

层级覆盖 cover-view组件 我这里做了个判断 监听全屏时隐藏按钮 根据项目需求自行更改

react【实用教程】 搭建开发环境(2024版)Vite+React (官方推荐)

以项目名 reactDemo为例 1. 下载脚手架 在目标文件夹中打开命令行 npm create vite2. 安装项目依赖 cd reactDemo npm i若安装失败,则修改下载源重试 npm config set registry https://registry.npmmirror.com3. 启动项目 npm run dev4. 预览项目 浏览器访问 http…

微生物群落构建(community assembly)

Introduction Zhou, J. & Ning, D. Stochastic Community Assembly: Does It Matter in Microbial Ecology? Microbiol Mol Biol Rev 81, e00002-17 (2017). This review is very comprehensive (1)! 周集中老师实验室的长期研究兴趣集中在从基因组到生态系统…

如何更好地使用Kafka? - 故障时解决

要确保Kafka在使用过程中的稳定性,需要从kafka在业务中的使用周期进行依次保障。主要可以分为:事先预防(通过规范的使用、开发,预防问题产生)、运行时监控(保障集群稳定,出问题能及时发现&#…

JavaScript:正则表达式属于字符串吗-不属于/字符串转正则表达式的两种方法

一、需求描述 js 字符串转正则表达式 二、理解正则表达式属于字符串吗? 正则表达式不属于字符串,它是一种用于匹配、查找和操作文本的模式。正则表达式是一种特殊的语法,用于描述字符串的特征。通过使用正则表达式,可以检查一个字符串是否…

网络安全与IP地址的关联

网络安全与IP地址之间存在着密不可分的关系。IP地址作为网络通信的基础,对于网络安全的保障具有至关重要的作用。以下将详细探讨网络安全与IP地址之间的关联,以及IP地址在网络安全中的应用。 一、IP地址与网络安全的关系 IP地址是网络通信的基础&#x…

ue引擎游戏开发笔记(34)——建立射击映射,并添加特效

1.需求分析: 准备处理射击系统,首先角色需要能射击,有反馈,先建立角色与控制器之间的映射,并添加简单特效,证明映射已经建立。 2.操作实现: 1.首先常规建立映射流程,具体可参考笔记…

linux的信号量的使用

1.信号量 在多线程情况下,线程要进入关键代码就得获取信号量(钥匙){sem_init(&sem, 0, 0);},没有信号量的情况下就一直等待sem_wait(&sem),只到别人把钥匙(sem_post(&sem))给你。 …

Python中设计注册登录代码

import hashlib import json import os import sys # user interface 用户是界面 UI """ 用户登录系统 1.注册 2.登陆 0.退出 """ # 读取users.bin def load(path): return json.load(open(path, "rt")) # 保存user.bin def save(dic…