esp_wifi.h:没有这样的文件或目录(mqtt_client.h,nvs_flash.h)

问题描述 投票:0回答:1

我正在尝试将单独的 SD 卡和 MQTT 代码合并到 ESP-IDF 项目中,以启用通过 MQTT 将数据从 SD 卡发送到云的功能。 SD 卡和 MQTT 代码单独运行时都可以正常工作。但是,当我尝试合并它们时,遇到以下错误:

C:/Users/Admin/Desktop/sdspi/main/wifi.c:2:10: fatal error: esp_wifi.h: No such file or directory
    2 | #include "esp_wifi.h"
      |          ^~~~~~~~~~~~
C:/Users/Admin/Desktop/sdspi/main/mqtt.c:5:10: fatal error: mqtt_client.h: No such file or directory
    5 | #include "mqtt_client.h"
      |          ^~~~~~~~~~~~~~
C:/Users/Admin/Desktop/sdspi/main/sd_card_example_main.c:17:10: fatal error: nvs_flash.h: No such file or directory
   17 | #include "nvs_flash.h"
      |          ^~~~~~~~~~~~~

单独 MQTT 的 CMakeLists.txt。

idf_component_register(SRCS "app_main.c" "mqtt.c" "json.c" "wifi.c" "cJSON.c"
                    INCLUDE_DIRS ".")

单独 SD_CARD 的 CMakeLists.txt。

set(srcs "sd_card_example_main.c")

idf_component_register(SRCS ${srcs}
                       INCLUDE_DIRS "."
                       REQUIRES fatfs sd_card json
                       WHOLE_ARCHIVE)

合并项目mqtt_ssl的CMakeLists.txt。

set(srcs "sd_card_example_main.c" "wifi.c" "mqtt.c" "cJSON.c" "json.c")

idf_component_register(SRCS ${srcs}
                       INCLUDE_DIRS "."
                       REQUIRES fatfs sd_card json
                       WHOLE_ARCHIVE)

我已将这些头文件添加到我的项目中,但仍然收到这些错误。我可以看到这些头文件的文件夹存在于 ESP-IDF 的组件目录中。 谁能帮我解决这个问题?谢谢!

mqtt sd-card esp-idf esp-idf-sys
1个回答
0
投票

我已经解决了我的问题,该问题通过更新依赖项产生了完全相同的错误消息:

我使用esp32-wifi-manager,最初来自https://github.com/tonyp7/esp32-wifi-manager,它似乎不再维护,并且与idf 5不兼容。

我将版本更改为https://github.com/huardti/esp32-wifi-manager,现在包含工作了。因此,也许您的依赖项之一导致了问题。

© www.soinside.com 2019 - 2024. All rights reserved.