ESP32开发 CMakeLists包含同级目录.h文件,error: gpioX.h: No such file or directory

有一个工程的目录结构是这样的:同级驱动子模块,相互包含。

编译后出现错误,error: gpioX.h: No such file or directory

ESP32开发 CMakeLists包含同级目录.h文件,error: gpioX.h: No such file or directory_第1张图片

其中 "key.h" 的代码中包含了 "gpioX.h",源码内容均无误。

编译出现错误,找不到"gpioX.h"

../components/KEY/include/key.h:8:10: fatal error: gpioX.h: No such file or directory

ESP32开发 CMakeLists包含同级目录.h文件,error: gpioX.h: No such file or directory_第2张图片

修改CMakeLists

编译错误原因是CMakeLists没有包含源码的.h路径。

KEY文件夹下的 CMakeLists.txt 由原先的:

set(key_srcs "src/key.c")

idf_component_register(SRCS "${key_srcs}"
                       INCLUDE_DIRS "include")

修改为:(最后一句添加gpioX.h的相对路径,"…/gpioX/include")

set(key_srcs "src/key.c")

idf_component_register(SRCS "${key_srcs}"
                       INCLUDE_DIRS "include"
                       "../gpioX/include")

再次编译,成功。

你可能感兴趣的:(ESP32,esp32,嵌入式,cmake,单片机,物联网)