有一个工程的目录结构是这样的:同级驱动子模块,相互包含。
编译后出现错误,error: gpioX.h: No such file or directory
其中 "key.h"
的代码中包含了 "gpioX.h"
,源码内容均无误。
编译出现错误,找不到"gpioX.h"
../components/KEY/include/key.h:8:10: fatal error: gpioX.h: No such file or directory
修改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")
再次编译,成功。