Библиотека в 2 местах, ошибка компиляции

Тема в разделе "Arduino & Shields", создана пользователем Den Kiva, 17 ноя 2019.

  1. Den Kiva

    Den Kiva Нерд

    Добрый день!
    При скачивании и подключении различных библиотек ( в частности DHT.h )
    появляется ошибка при компиляции. см. прикрепленное фото.
    Устанавливаю при скачивании библиотеки в папку C:\Program Files (x86)\Arduino\libraries
    Но.....
    При подключении библиотеки через zip ..... ставиться в C:\Users\User\Documents\Arduino\libraries
    Подчас они сами автоматом дублируются из:
    C:\Program Files (x86)\Arduino\libraries
    в
    C:\Users\User\Documents\Arduino\libraries

    То есть два места установка, они конфликтуют, попытки их где то оставить, где то удалить, не к чему не приводит.
    Раньше всегда ставил в C:\Program Files (x86)\Arduino\libraries и всё было хорошо.

    Прошу подсказать решение!
     

    Вложения:

  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    Удалите из обеих мест, перезагрузите IDE, установите из zip
     
  3. Den Kiva

    Den Kiva Нерд

    Такой вопрос.
    Куда правильнее их ставить, если вручную?
    C:\Program Files (x86)\Arduino\libraries
    или
    C:\Users\User\Documents\Arduino\libraries



     
  4. NikitOS

    NikitOS Public enemy Администратор

    В любое место, где нет русских символов в пути.
    Можно хоть в корень диска, даже лучше будет
     
  5. Den Kiva

    Den Kiva Нерд

    Раньше просто закидывал библиотеку в папку C:\Program Files (x86)\Arduino\libraries и всё работало
    А сейчас Arduino IDE библиотеку ищет само по всему компьютеру ? так как при ошибках компиляции он выдаёт все схожие библиотеки найденные им в разных местах компьютера ( или изначально есть в настройках путь к библиотекам ? )

    Сейчас косяк основной такой и мне совершенно не ясный.
    Постоянно возникают ошибки с компиляцией и ругается на библиотеки.

    Например нашел КОД в интернете где надо подключить DHT.h
    Забиваю в поиске ( скачать DHT.h ) выходит GitHub, но название библиотеки и папки скачивается например avr-dht22-master или DHT_sensor_library, надо ли папку переименовать в DHT.h или оставить как есть ? в самой библиотека внутри есть DHT.h, но само название папки библиотеки иное. ( про пробелы и русские буквы понимаю )

    теперь распаковываю их в C:\Program Files (x86)\Arduino\libraries и при компиляции кода, он опять ругается на не возможность подключить этот самый DHT.h ( хотя проде скачал avr-dht22-master ) и в папке dht.h есть......

    И только если зайти в саму папку библиотеки и открываю примеры, то только отттуда совершенно другой ( схожий код из примера ) запускается....

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

    До хера вопросов, но кроме как тут спросить, не пойму где читать изучать, статьи и их чтение, ютуб, не помогает.
     
    Последнее редактирование: 17 ноя 2019
  6. NikitOS

    NikitOS Public enemy Администратор

    Вам же сказали - удалите IDE и все что с ним связано, затем заново поставьте

    Библиотеки устанавливаются через IDE. Скетч -> Подключить библиотеку -> Добавить .zip библиотеку
    Там же есть менеджер библиотек, через который можно найти и скачать библиотеку. Только название написать
     
  7. Den Kiva

    Den Kiva Нерд

    Ок, повторю ряд вопросов.
    1. Как Arduino IDE определяет место для поиска библиотек?
    2. Есть ли настройки в IDE, где прописывается адреса расположения библиотек на компьютере?
    3. Например: надо подключить DHT.h скачали библиотеку "avr-dht22-master" внутри её есть DHT.h ( вопрос ) нужно ли наименовании самой папки библиотеки переименовать из avr-dht22-master переименовать в DHT.h ?
    На данный момент это не понятно, прошу разъяснить.

     
  8. NikitOS

    NikitOS Public enemy Администратор

    Библиотеки в папке libraries, которая находится в папке со скетчами. В настройках указывается.
    Имя архива любое, IDE ищет файлы в нем.
     
  9. b707

    b707 Гуру

    пути поиска библиотек прописаны в настройках. таких мест может быть не одно, а несколько (у меня на компе, например, таких папок пять)
    библиотеки переименовывать не нужно, имя папки библиотеки не имеет ни малейшего значения.
    Из этого, кстати, следует еще вот что - если в попытке "замаскировать" библиотеку от Ардуино ИДЕ вы переименуете папку с либой avr-dht22-master в что-то типа "Foobar" - ИДЕ все равно найдет внутри файл DHT.h и подгрузит библиотеку.
    "Замаскировать библиотеку" можно лишь одним путем - физически удалив ее из каталога библиотек.