【微记录】Makefile中wildcard(通配)的一种用法--如何避免某个头文件路径不存在造成CLFAGS添加后编译报错?

文章目录

  • 背景
  • 方法:wildcard
  • 补充信息
    • wildcard解释
    • Make中wildcard用法

背景

工程中,如果某个代码需要再不同平台有不同的依赖头文件,于是会出现不同平台依赖头文件路径不一样,但是为了适配多个平台如何做到避免某个头文件路径不存在造成CLFAGS添加后编译报错?

方法:wildcard

在Makefile中使用wildcard将路径剥离后查看是否为空,

ifeq ($(wildcard /path/to/directory),) #不存在
    $(info Directory does not exist)
else
    $(info Directory exists)
    CLFAGS = -I/path/to/directory
endif

补充信息

wildcard解释

在这里插入图片描述

Make中wildcard用法

在 Makefile 中,wildcard 函数是一个内置的函数,它用于生成一个文件名列表。这个函数通常用于创建一个目标或一个模式规则中所有匹配指定模式的文件列表。

语法:

$(wildcard xxx)

参数:
xxx:一个或多个文件名模式,可以包含通配符 * 和 ?。
返回值:
返回一个字符串,包含所有匹配指定模式的文件名列表,文件名之间由空格分隔。
示例:
假设你有一个目录结构如下:

src/
	|-- main.c
	|-- utils.c
	|-- read.c

使用 wildcard 函数来生成 src/ 目录下所有 .c 文件的列表:(类似一个find *.xxx的工具,通配)

SRC := $(wildcard src/*.c)

SRC输出:

 src/main.c src/utils.c src/read.c

注意点:

  • wildcard 函数只匹配当前目录和子目录中的文件,不会递归。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字集成电路物理设计[陈春章]——知识总结与精炼01

第一章 集成电路物理设计方法 1.1 数字集成电路设计挑战 1.2 数字集成电路设计流程 前两节内容讲述的是数字集成电路发展与流程,知识体系比较宏观和简单,请读者自行了解即可。 1.3 数字集成电路设计收敛 实现设计收敛任务:①数据系统;②优…

tensorflow实现二分类

# 导入所需库和模块 from tensorflow.keras.layers import Dense, Input, Activation # 导入神经网络层和激活函数模块 from tensorflow.keras.models import Sequential # 导入Keras的Sequential模型 import pandas as pd # 导入Pandas库用于数据处理 import numpy as np …

AI网络爬虫:用kimichat自动批量提取网页内容

首先,在网页中按下F12键,查看定位网页元素: 然后在kimi中输入提示词: 你是一个Python编程专家,要完成一个爬取网页内容的Python脚本,具体步骤如下: 在F盘新建一个Excel文件:提示词…

JavaScript异步编程——09-Promise类的方法【万字长文,感谢支持】

Promise 类的方法简介 Promise 的 API 分为两种: Promise 实例的方法(也称为:Promis的实例方法) Promise 类的方法(也称为:Promise的静态方法) 前面几篇文章,讲的都是 Promise 实…

SpringBoot解决CORS跨域——WebMvcConfigurationSupport

前端请求后端报错了。 状态码:403 返回错误:Invalid coRs request 增加配置类WebMvcConfig Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Overridepublic void addCorsMappings(CorsRegistry registry) {// 允许跨域…

Python中tkinter编程入门4

在Python中tkinter编程入门3-CSDN博客中创建了Button控件,点击该控件就会产生一个点击事件,在创建Button控件时指定该点击事件的处理程序后,按键控件就会对用户的点击事件产生响应。 1 定义事件处理器 定义事件处理器就是一个自定义的函数。…

2024年小学生古诗文大会备考:吃透历年真题和知识点(持续)

根据往年的安排,2024年小学生古诗文大会预计这个月就将启动。该如何备考2024年小学生古诗文大会呢?根据往期的经验,只要吃透这些真题和背后的知识点,通过上海小学生古诗文大会的初选(初赛)一点问题都没有。…

使用docker创建hadoop集群:Couldn‘t upload the file

运行的环境; Windows10 Docker Desktopdocker-hadoop 出现的问题如下: 解决方法 https://github.com/big-data-europe/docker-hadoop/issues/98

美国站群服务器如何提高企业网站的负载均衡能力?

美国站群服务器如何提高企业网站的负载均衡能力? 美国站群服务器是企业提高网站负载均衡能力的重要工具之一。随着网络流量的增加和用户需求的多样化,如何有效地管理和分配流量成为了企业面临的挑战。通过采用美国站群服务器,企业可以实现流量的智能分…

JETBRAINS IDES 分享一个2099通用试用码!CLion 2024 版 ,支持一键升级

文章目录 废话不多说上教程:(动画教程 图文教程)一、动画教程激活 与 升级(至最新版本) 二、图文教程 (推荐)Stage 1.下载安装 toolbox-app(全家桶管理工具)Stage 2 : 下…

echarts实现金价可视化大屏(项目实战)

前言 最近由于某种原因参加了一个比赛,三天时间肝出来一个可视化大屏项目(无后端),代码已开源,但是还在比赛期间不知道会不会影响到 技术使用:html,css,js,echarts&#…

谷歌Gemini时代来了!加固搜索护城河、赋能全家桶,Gemini 1.5 Pro升级至200万token

3 月中旬,谷歌宣布 Google I/O 定档北京时间 5 月 15 日凌晨 1 点。而当大会开幕时间临近,本应是讨论度最高的时候,「宿敌」OpenAI 却半路杀出,抢先一天,仅耗时 27 分钟就发布了颠覆性巨作 GPT-4o,将新一轮…

生态系统类型分布数据、土地利用数据、植被类型分布、自然保护区分布数据

引言 全国自然保护区生态系统类型分布信息产品是指基于Landsat TM数字影像(以地形图纠正),采用全数字化人机交互遥感快速提取方法,建立全国自然保护区生态系统结构数据集,同时做成多种尺度的栅格数据,其中包…

RK3568平台开发系列讲解(SPI篇)SPI数据的传输

🚀返回专栏总目录 文章目录 一、数据结构1.1、spi_transfer 结构体1.2、spi_message二、数据发送程序分析沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 参考资料: spi_transferspi_message一、数据结构 spi 数据传输主要使用了 spi_message 和 spi_transfer 结构…

鸿蒙OpenHarmony:【关于deps、external_deps的使用】

关于deps、external_deps的使用 在添加一个模块的时候,需要在BUILD.gn中声明它的依赖,为了便于后续处理部件间依赖关系,我们将依赖分为两种——部件内依赖deps和部件间依赖external_deps。 依赖分类 开发前请熟悉鸿蒙开发指导文档&#xff…

查看Linux系统是Ubuntu还是CentOS

要查看Linux系统是Ubuntu还是CentOS,可以通过多种方式进行确认: 查看/etc/os-release文件: 在终端中执行以下命令: cat /etc/os-release 如果输出中包含"IDubuntu",则表示系统是Ubuntu;如果输出中…

voceChat - 支持独立部署的个人云社交媒体聊天服务(使用场景及体验分享)

序言 在工作室的发展中,我们急需一个更加简单便捷,高效,适用于团队内部交流的组织平台。起因是我们团队一直是直接使用QQ进行活动,发现QQ很多功能不是很方便并且过于臃肿,越来越不契合工作室的生产环境,于…

pytorch 2.0 多线程并行,导致GPU利用100%,卡住

背景: 程序中有pytorch模型两个,yolov5,crnn。 之前无论是pth格式,还是TRT格式,并行的都没有问题。 最近发现,多线程ThreadPoolExecutor(max_workers2)调用的时候,即单个进程内处理一张图像&a…

数据可视化训练第7天(json文件读取国家人口数据,找出前10和后10)

数据 https://restcountries.com/v3.1/all;建议下载下来,并不是很大 import numpy as np import matplotlib.pyplot as plt import requests import json #由于访问url过于慢;将数据下载到本地是json数据 #urlhttps://restcountries.com/v3…

Unity Pixels Per Unit 与 Sprite Renderer Scale的逻辑关系,为什么平铺的Sprite Renderer会变形?

SpriteRenderer之前用的比较基础,没遇到过什么问题,这几天使用SpriteRenderer的平铺时发现平铺变形了,研究了一下,原来有这么多在逻辑在里面。 当我们导入图片选择Texture Type为Sprite时表示我们的图片用途是UI或者SpriteRendere…