在esp32上,我使用esp-idf构建了一个名为webSocket.c/.h的模块。它包括
#include "esp32/sha.h"
由于这个模块是通用的,我想把它放在一个组件中。我把它移到了"components/webSocket";目录,并添加了一个CMakeLists.txt文件,如下所示:
FILE(GLOB cFiles *.c)
set(
COMPONENT_SRCS
${cFiles}
)
set(COMPONENT_ADD_INCLUDEDIRS
"."
)
register_component()
从这一点开始,模块不再编译,因为上面包含的文件是不可访问的。
这个模块是esp-idf框架的一部分,或者更准确地说,是嵌入esp-idf架构的mbedtls-lib的一部分。
我尝试了所有这些路径,但没有成功:
mbedtls/port/include/esp32/sha.h
port/include/esp32/sha.h
include/esp32/sha.h
esp32/sha.h
sha.h
没有一个是成功的,我该怎么办?
添加
set(COMPONENT_REQUIRES mbedtls)
到CMakeLists就成功了。