База знаний · Библиотеки

Частые проблемы с библиотеками

Include не совпал, версии подрались, плата не та: разбор нетипичных случаев.

Простой случай — «библиотеки нет» — Trema IDE чинит сама (см. «Библиотека не найдена»). Здесь разберём случаи потоньше: библиотека стоит, а сборка всё равно не идёт или ведёт себя странно. Четыре типовых сюжета.

Сюжет 1. Имя в include не совпадает

Ошибка про отсутствующий «.h», хотя библиотека установлена? Проверьте точное имя: #include чувствителен к регистру и должен совпадать с файлом из библиотеки буква в букву. Servo.h и servo.h — разные строки. Подсказка: имя правильного файла видно в примерах самой библиотеки — откройте любой из её примеров и сверьте первую строчку.

Как это выглядит в жизни: скетч просит библиотеку, которой на этом компьютере нет.

#include <iarduino_OLED_txt.h>  // библиотека ещё не установлена

iarduino_OLED_txt display(0x3C);

void setup() {
  display.begin();
  display.print("Привет");
}

void loop() {
}

Ключ к разгадке — имя файла в кавычках или скобках после #include. Именно его нужно искать в менеджере библиотек, а не название модуля с коробки.

Сюжет 2. Две похожие библиотеки конфликтуют

Для популярных модулей существует несколько библиотек с похожими файлами — установленные вместе, они могут «перехватывать» include друг друга. Симптом: сборка падает с непонятными ошибками внутри чужого кода. Лечение: оставьте одну — ту, под которую написан ваш скетч, — а вторую удалите (это обратимо).

Сюжет 3. Библиотека не поддерживает вашу плату

Часть библиотек написана под конкретные архитектуры: библиотека для AVR может не собираться на ESP32 — ошибки будут про регистры и заголовки внутри библиотеки. Проверьте бейджи архитектур на карточке в каталоге и поищите вариант под вашу плату (фильтр по архитектуре в помощь).

Карточка ошибки сборки в Trema IDE помогает понять, в чём проблема с библиотекой
Карточка ошибки подскажет направление: чьё имя в ошибке — того и проблема.

Сюжет 4. Скетч написан под другую версию

Чужой проект из статьи 2019 года может не собираться с новой версией библиотеки: авторы иногда переименовывают команды. Симптом: ошибки «нет такой функции» при установленной библиотеке. Лечение: поставьте версию времён статьи (см. «Версии библиотек») — или обновите вызовы по свежим примерам библиотеки.

Универсальный метод

Запутались — сведите задачу к минимуму: откройте пример из самой библиотеки и соберите его. Пример собирается — проблема в вашем скетче или версии команд; не собирается — в библиотеке, плате или конфликте. Такое деление пополам находит виновника за пару минут.

Обновлено: 19 июля 2026