#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 были пробелы в их названии.
Когда я переместил свой каталог кода, все начало работать гладко.