ESP-IDF中添加自己组件功能并配置CMakeLists.txt

在最近学习ESP-IDF时,自己想写一个显示模块,但是在写CMakeLists.txt却犯了难,因为之前一直是用keil,没有用过vscode,在网上找了很多种方法还是不行,还是报错
CMake Error at G://ESP32/idf/esp-idf/tools/cmake/component.cmake:300 (message):
Include directory
'G:/software/ESP32/

is not a directory.
错误提示
这里给大家一种简单的方法,如你在commponents下新建了一个ZX文件夹,然后在ZX里边又建了两个子文件夹display和module,然后为了其它模块或者函数能够调用子文件夹中C语言的函数,这时你必须要告诉其它模块我们有哪些文件可以调用,你只需要在zx文件夹下边新建CMakeLists.txt,在里边写以下代码

#添加头文件目录
idf_component_register(
    SRC_DIRS 
    "display"
    "module"
    INCLUDE_DIRS
    "display"
    "module"
    REQUIRES lvgl lvgl_esp32_drivers)

添加代码

这样就可以调用两个子模块中的函数了
成功调用子模块中的函数

如果你想在ESP-IDF项目添加自定义组件,有以下几个步骤: 1. 创建自定义组件文件夹:在ESP-IDF项目的`components`目录下创建一个新的文件夹,用于存放自定义组件的代码和头文件。你可以为该文件夹取一个有意义的名称,以便在项目使用。 2. 添加组件源代码和头文件:将自定义组件的源代码和头文件放入新创建的文件夹。确保这些文件是与ESP32芯片兼容的,并且符合ESP-IDF编程规范。 3. 创建组件CMakeLists.txt文件:在自定义组件文件夹创建一个CMakeLists.txt文件,用于描述组件配置信息。其包括组件的源文件、头文件和依赖项等。示例内容如下: ``` idf_component_register(SRCS "component_source_file1.c" "component_source_file2.c" INCLUDE_DIRS "include" REQUIRES dependency1 dependency2 ) ``` 确保将"component_source_file1.c"和"component_source_file2.c"替换为你组件的实际源文件名称,将"include"替换为你组件的头文件所在的文件夹名称,将"dependency1"和"dependency2"替换为你组件所依赖的其他组件的名称。 4. 在主项目引用自定义组件:在主项目的CMakeLists.txt文件添加对自定义组件的引用。示例代码如下: ``` set(EXTRA_COMPONENT_DIRS "path_to_custom_component_folder" "path_to_another_custom_component_folder" ) ``` 将"path_to_custom_component_folder"和"path_to_another_custom_component_folder"替换为你自定义组件所在的文件夹路径。 5. 构建和编译项目:在完成以上步骤后,重新构建和编译ESP-IDF项目。确保自定义组件被成功添加并正确引用。 如此,你就成功地将自定义组件添加ESP-IDF项目啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值