在rtthread中,scons构建时,它是怎么知道是从rtconfig.h找宏定义,而不是从其他头文件找?

server/2025/2/8 6:12:07/

        在rtthread源码中,每一个bsp芯片板级目录下都有一个 SConstruct  scons构建脚本的入口,

在这里把rtthread tools/目录下的所有模块都添加到了系统路径中:

        在tools下所有模块中,最重要的是building.py模块,在此脚本里面调用了函数 PrepareBuilding,提前准备执行构建前的环境

        从上面代码中,可以看出在building.py模块中,打开了rtconfig.h头文件,且open打开时传入的路径是相对当前SConstruct在同一路径下。因此在使用scons构建时,必须把 SConstruct、rtconfig.h放在同一级目录下。

        注意:如果有其他宏定义放入其他头文件中,需要在rtconfig.h中包含此头文件,以便于scons构建时,GetPend等可以找到此宏定义的依赖,比如:

fmtconfig.h也必须和rtconfig.h在同一级目录下,或者包含fmtconfig头文件前面加上绝对路径。

同时,scons构建生成的*.o目标文件,放在当前目录下的build/目录:


http://www.ppmy.cn/server/165871.html

相关文章

本地部署deepseek简单教程

部署deepseek,首先需要知道deepseek官网地址:DeepSeek 第一步:Ollama 去ollama下载对应的版本,我的电脑是window 在这里可以看到关于deepseek相关 第二步,下载完ollama无脑下一步就可以 这样属于安装成功 第三步&…

搜维尔科技:Movella数字化运动领域的领先创新者

下一代游戏、视觉效果、直播、工作场所人体工程学、运动表现、海洋和机器人技术。前所未有的运动成就。让所有年龄段的观众惊叹不已的艺术创新。Movella 的全栈技术用于捕捉、数字化和分析运动,正在让世界变得更美好。 数字艺术家的创造力得到释放 灯光、摄像机、…

2.7.3 eIM 证书

2.7.3 eIM 证书 本节描述了 eIM(eSIM IoT 远程管理器) 证书的相关内容,包括支持的证书类型、证书的颁发、验证和吊销机制等。 1. 支持的证书类型 eIM 可以选择支持以下类型的证书: 用于签署 eUICC 包的 eIM 证书(如…

绿虫储能仿真设计:赋能储能项目工程清单生成

在能源转型的浪潮中,储能项目对能源行业可持续发展至关重要。绿虫储能仿真设计软件凭借先进技术,在工程清单生成方面的优异表现,为储能项目的全流程提供了强大的技术支撑,大幅提升了项目推进的效率和质量。 当用户在绿虫储能仿真…

STM32上部署AI的两个实用软件——Nanoedge AI Studio和STM32Cube AI

1 引言 STM32 微控制器在嵌入式领域应用广泛,因为它性能不错、功耗低,还有丰富的外设,像工业控制、智能家居、物联网这些场景都能看到它的身影。与此同时,人工智能技术发展迅速,也逐渐融入各个行业。 把 AI 部署到 STM…

markdown语法学习

Markdown语法学习 # 这是一级大标题 ## 这是二级大标题 ### 这是三级大标题 #### 这是四级大标题 ##### 这是五级大标题 ###### 这是最小的大标题 我是**粗体**字 我是*斜体*字 我是~~删除~~线 换行直接多敲个回车,或者第一行后面2个空格 我是第一行 我是第二行…

STM32自学记录(八)

STM32自学记录 文章目录 STM32自学记录前言一、ADC杂记二、实验1.学习视频2.复现代码 总结 前言 ADC 一、ADC杂记 ADC其实就是一个电压表,把引脚的电压值测出来,放在一个变量里。 ADC:模拟——数字转换器。 ADC可以将引脚上连续变化的模拟电…

Java 中的 Spring 框架,以及 Spring Boot 和 Spring Cloud 的区别?

Spring框架是一个开源的Java平台,主要用于简化企业级应用程序的开发。 它通过提供一系列的功能模块,帮助开发者解决常见的编程难题,从而提高开发效率和代码质量。 Spring框架的核心思想是“控制反转”(IoC)和“面向切…