Сбой сборки esp-idf с «фатальной ошибкой: esp_wifi.h: нет такого файла или каталога»

Я студент, который получил неполный рабочий день встроенного системного программирования. Мне дали программу, которую использует компания, и попросили разобраться в ней. Это рабочая программа. Таким образом, проект может быть без проблем собран и прошит разработчиками на ESP32. Таким образом, код и файлы CMake не должны иметь проблем. Однако я не могу собрать программу ни с расширением VSCode, ни с idf.py. На самом деле, я тоже не могу собрать примеры esp-idf с официального сайта. Примечание. Я новичок в StackOverflow, а также в ESP32, поэтому извините, если я допустил здесь какие-либо ошибки. Если этот пост проблематичен в любом случае, пожалуйста, сообщите мне. Здесь показано сообщение об ошибке терминала

Изначально я использовал VSCode в Windows 10 (Windows не активирована). Сначала расширение ESP совершенно не запускало процесс сборки, потому что не могло найти инструменты. Я получал ошибки «не удалось найти» для всех инструментов. Ниже приведен список того, что я сделал в этой настройке:

  1. У меня была версия 5.0.0 для esp-idf, загруженная с сервера Espressif. Я удалил его и попробовал v4.3.3, а затем попытался загрузить с сервера Github. Я загрузил требования к среде сценариев idf.py и выполнил для нее настройки, как описано в документации Espressif.
  2. Я вручную устанавливаю переменные среды для IDF_PATH и PATH как для пользователя, так и для системы. После 2 первоначальная ошибка исчезла. К сожалению, у меня появилась новая ошибка, указывающая на то, что файл ".elf" для вывода проекта не найден. Я точно не помню ошибку, но если она является неотъемлемой частью решения проблемы, я могу попытаться воспроизвести эту проблему.
  3. Я попытался удалить и переустановить VSCode. Я попытался запустить VSCode с правами администратора.
  4. Я попытался изменить IDF_TOOLS_PATH в конфигурации расширения VSCode esp-idf с «.espressif» на «esp\esp-idf».

В этот момент я попытался собрать проект на Ubuntu 22.04.1 LTS:

  1. В Ubuntu я получил ошибку fatal error: esp_event.h: No such file or directory. Это не кажется распространенной проблемой, и я не мог найти много об этом в Интернете. Я следовал инструкциям по настройке Linux, описанным в документации. В нем говорилось, что для расширения VSCode необходим только шаг 1 (загрузка предварительных условий).
  2. Я также решил попробовать «главную ветку» из конфигураций esp-idf. После того, как я загрузил основную ветку, ошибка изменилась на текущую версию: «фатальная ошибка: esp_wifi.h: нет такого файла или каталога»
  3. Я также попробовал idf.py в Ubuntu, но получил ту же ошибку.

Как в Ubuntu, так и в Windows Doctor Command ничего не возвращает. Он даже не открывает терминал или какое-либо окно. Я не уверен, что он должен вернуть, но некоторые онлайн-дискуссии спрашивали о его возвращении, поэтому я хотел отметить это здесь.


Редактировать: Когда я пробовал примеры на Ubuntu, они действительно отлично строились. Doctor Command также работает с примерами. Тем не менее, основной код все еще имеет проблемы. Первоначально я предполагал, что допустил некоторые ошибки с настройками esp-idf. Но, возможно, это было не так.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
340
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня была та же проблема, и в итоге я отредактировал CMakeLists.txt моего проекта. Когда я добавил «esp_wifi» в список «ТРЕБУЕТСЯ», у меня это сработало:

idf_component_register(
    SRCS "main.c"
    INCLUDE_DIRS res
    EMBED_FILES res/settings.html
    REQUIRES esp_wifi
)

Извините за поздний возврат. Да, в том числе некоторые заголовки для REQUIRES работали. Спасибо за ответ.

somberly12 02.02.2023 13:30

Другие вопросы по теме