0

在 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

没有一个成功,我该怎么办?

4

1 回答 1

1

添加

set(COMPONENT_REQUIRES mbedtls)

到 CMakeLists 成功了。

于 2020-09-27T07:39:25.500 回答