esp-idf:我无法在组件中包含mdebtls目录

问题描述

在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框架的一部分,或更准确地说,是esed-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达到目的。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...