ESP-IDF не удается выполнить CMake во время примера проекта (мигает) при попытке включить основной

#cmake #esp32 #esp-idf

Вопрос:

Я пытаюсь заставить ESP-IDF работать на Ubuntu 18.04. Когда я пытаюсь скомпилировать тестовый проект, мигайте с помощью «idf.py сборка», я получаю сообщение об ошибке от cmake.

Исходный код, который не работает, находится в /home/bjorn/esp/esp-idf/инструменты/cmake/скрипты/component_get_requirements.cmake

Команда, которая завершается неудачей, заключается в следующем:

include(${__component_dir}/CMakeLists.txt OPTIONAL)

Он генерирует ошибку » include вызывается с неправильным количеством аргументов. include() принимает только один файл».

Удаление НЕОБЯЗАТЕЛЬНОГО ключевого слова изменяет ошибку на «включить вызов с недопустимым аргументом: код/ESP-IDF».

Я добавил еще несколько строк перед той, которая генерирует ошибку, чтобы попытаться понять, что происходит:

 message( "listing component values")
message(${__component_name})
message(${__component_dir})


include(${__component_dir}/CMakeLists.txt)
 

Это создает длинный список компонентов, пока один из них не выйдет из строя. Это главное:

 listing component values

main

  
/xxx/ESP-IDFtutorial/blink/main


CMake Error at
/xxx/esp/esp-idf/tools/cmake/scripts/component_get_requirements.cmake:102
  (include):

include called with invalid argument: code/ESP-IDF

Call Stack (most recent call first):

/xxx/esp/esp-idf/tools/cmake/scripts/component_get_requirements.cmake:120 (__component_get_requirements)
 

Я действительно не знаю, куда идти дальше. Есть ли какая-то переменная, которую мне нужно установить, чтобы сделать это правильно? Или где — то есть какая-то несовместимость?

Ответ №1:

Тьфу, я обнаружил проблему: в некоторых каталогах на пути к main были пробелы в их названии.

Когда я переместил свой каталог кода, все начало работать гладко.