1 新建自定义的 components 路径,比如我在 PROJECT_DIR 中新建名为 /import/oled_driver 的文件夹。 2 修改项目变量 EXTRA_COMPONENT_DIRS cmake_minimum_required(VERSION 3.5) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(EXTRA_COMPONENT_DIRS "./import") # 因为oled_driver文件夹作为组件、所...
搜索COMPONENT_DIRS 中指定的目录以查找项目会使用的组件,目录可以是组件本身(即他们包含 component.mk 文件),也可以是包含组件的上层目录。 ESP-IDF 搜索组件时,会按照 COMPONENT_DIRS 指定的顺序依次进行,这意味着在默认情况下,首先是 ESP-IDF 组件,然后是项目组件,最后是 EXTRA_COMPONENT_DIRS 中的组件。如果这些...
main 是默认名称,CMake 变量 COMPONENT_DIRS 默认包含此组件,但您可以修改此变量。或者,您也可以在顶层 CMakeLists.txt 中设置 EXTRA_COMPONENT_DIRS 变量以查找其他指定位置处的组件。 build 目录是存放构建输出的地方,如果没有此目录,idf.py 会自动创建。CMake 会配置项目,并在此目录下生成临时的构建文件。随后...
set(EXTRA_COMPONENT_DIRS "./components") 在主工程文件夹 下 txt文件,添加 还需要在 新建的components文件夹下 ,新建一个 CMakeLists.txt文件,在文件中 写明包含的 点c 文件 ,如: idf_component_register(SRCS "myuart.c" INCLUDE_DIRS "." ) ...
main目录是一个特殊的“伪组件”,包含项目本身的源代码。main是默认名称,CMake 变量COMPONENT_DIRS默认包含此组件,但您可以修改此变量。或者,您也可以在顶层 CMakeLists.txt 中设置EXTRA_COMPONENT_DIRS变量以查找其他指定位置处的组件。如果项目中源文件较多,建议将其归于组件中,而不是全部放在main中。
# 添加自定义组件 set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common ${PROJECT_PATH}/components/gpio_led) 注意:上面的$ENV{IDF_PATH}/examples/common_components/protocol_examples_common是一个示例路径,你应该只添加你的组件路径,即${PROJECT_PATH}/components/gpio...
hi all, 在我构建IDF项目时,并没有使用默认的main组件,而是自定义的目录结构,并且按照文档在顶层Cmakelist里更改了EXTRA_COMPONENT_DIRS 的值 并在“EXTRA_COMPONENT_DIRS”对应的目录中调用了idf_component_register,但是任然会报错“Called idf_component_register from a non-component directory.”...
# The following lines of boilerplate have to be in your project's# CMakeLists in this exact order for cmake to work correctlycmake_minimum_required(VERSION3.16)set(EXTRA_COMPONENT_DIRS./components/lvgl)include($ENV{IDF_PATH}/tools/cmake/project.cmake)project(hello_world) ...
ESP-IDF 搜索组件时,会按照 COMPONENT_DIRS 指定的顺序依次进行,这意味着在默认情况下,首先是 ESP-IDF 组件,然后是项目组件,最后是 EXTRA_COMPONENT_DIRS 中的组件。如果这些目录中的两个或者多个包含具有相同名字的组件,则使用搜索到的最后一个位置的组件。这就允许将组件复制到项目目录中再修改来覆盖 ESP-IDF 组...
修改的目的是重新指定本工程额外增加的component的路径。 # The following lines of boilerplate have to be in your project's# CMakeLists in this exact order for cmake to work correctlycmake_minimum_required(VERSION 3.5)#set(EXTRA_COMPONENT_DIRS ../../../components)set(EXTRA_COMPONENT_DIRS$ENV...