Arduino IDE не обнаруживает зависимости от установленной библиотеки

Я пытаюсь отредактировать старый код для матричного дисплея. Этот код был написан в Arduino IDE в Windows 10 для DOIT ESP32 DEVKIT V1. У меня никогда не возникало проблем с библиотеками в среде Windows, но всё начало зависать при попытке установить необходимые библиотеки в Linux Mint 22.

Я бы предпочел установить его с помощью МЕНЕДЖЕРА БИБЛИОТЕК (а не вручную извлекать zip-файл в папку include), чтобы IDE знала, какие библиотеки установлены, и чтобы избежать подобных конфликтов зависимостей в будущем.

Проблема: При нажатии кнопки «Установить» в библиотеке MD_MAXPanel появляется ошибка, в которой, помимо прочего, говорится: «MD_MAX72xx недоступен». Вы можете увидеть её прямо здесь: версия 3.5.1 уже установлена, и тот же МЕНЕДЖЕР БИБЛИОТЕК сообщает, что она не установлена. В папке с библиотеками, помимо прочих, есть папка с таким именем. Я несколько раз перезапускал IDE, но это не помогает. Все мои библиотеки и платы установлены в актуальном состоянии.

Вопрос: Как установить библиотеку «MD_MAXPanel» через МЕНЕДЖЕР БИБЛИОТЕК IDE Arduino?



, 👍0


1 ответ


2

Просто предполагаю... Мне кажется, что это проблема с регистром: библиотека MD_MAXPanel повторно публикует зависимость от MD_MAX72xx (строчные буквы xx), тогда как MD_MAX72XX явно указывает его имя MD_MAX72XX (заглавными буквами XX). Полагаю, Windows это неважно, поскольку он использует файловую систему, нечувствительную к регистру.

Я предлагаю вам сообщить об этом несоответствии автору этих библиотеки, возможно, с запросом на включение исправления строки depands= MD_MAXPanel. Тем временем, вы можете попробовать создать символическую ссылку в вашем каталог библиотек, от MD_MAX72xx до MD_MAX72XX.

,

Не думаю, что дело в регистре. Я изменил название библиотеки на строчные буквы xx в имени файла, имени папки и в файле library.properties, но это, похоже, не работает., @Abdullah Baig

@pakieng: Я бы не советовал переименовывать существующую библиотеку: эта библиотека уже известна как MD_MAX72XX в среде разработки Arduino (она должна быть указана в файле library_index.json). Вместо этого попробуйте изменить строку depends= в MD\_MAXPanel., @Edgar Bonet

@pakieng Эдгар Бонет совершенно прав, говоря, что это проблема конкретного случая и проблема со стороны автора библиотеки. Он также прав насчёт редактирования library_index.json. Примерно через 45 минут после того, как вы опубликовали вопрос, я это проверил. Но вы спросили, как сделать это в IDE, а это сложнее, чем ручная установка или использование arduino-cli lib install --no-deps MD_MAXPanel (что тоже работает), поэтому я решил, что вас такой ответ не удовлетворит. Но раз уж он дал ответ, а вы его не приняли и не проголосовали, я удовлетворюсь., @timemage

@pakieng Кроме того, имело значение только редактирование ключа dependencies в файле library_index.json в каталоге arduino15. Автору библиотеки необходимо было отредактировать *свой* файл library.properties, чтобы индексатор создавал корректные записи в library_index.json. К сожалению, локальное редактирование library.properties не дало никакого эффекта., @timemage