Страница 1 из 1

Объявление библиотек. Как правильно подключать библиотеки

Добавлено: Чт фев 06, 2020 23:42:41
forfrends
Всем привет! У меня есть два вопроса по подключению библиотек в среде Ардуино.

1) В чем разница между "" и <> в подключении библиотеки? Пример:

Код: Выделить всё

#include "SPI.h"
#include <SPI.h>
Я знаю что это разный способ подключения библиотек (библиотеки берутся из разных мест). Но я не смог найти по этому поводу информации. Можете объяснить что к чему, или дайте ссылку, где об этом можно почитать.

2) Как указать какую именно библиотеку компилятор должен использовать, если их установлено несколько? Вот пример из лога компиляции:

Код: Выделить всё

Несколько библиотек найдено для "SdFat.h"
 Используется: C:\Users\Игорь\Documents\Arduino\libraries\SdFat-master
Не используется: C:\Users\Игорь\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266SdFat
Не используется: C:\Users\Игорь\Documents\Arduino\libraries\SdFat_-_Adafruit_Fork
Не используется: C:\Users\Игорь\Documents\Arduino\libraries\arduino_253084
Как видно, на компьютере установлено несколько одинаковых библиотек, Как мне указать какую именно нужно использовать?

И еще вопрос, вытекающий из предыдущего:
Библиотека SdFat.h автоматически подтягивается из библиотеки SD.h , если я могу явно указать библиотеку SD.h, то какую библиотеку SdFat.h использовать выбирает уже компилятор. И часто выбирает не ту что нужно. Как мне указать компилятору откуда брать библиотеки?

Надеюсь на вашу помощь!

Re: Объявление библиотек. Как правильно подключать библиотек

Добавлено: Пт фев 07, 2020 10:00:54
BOB51
Самостоятельное написание библиотек под адуринью было где-то между флудом рассеяно в этой теме:
https://radiokot.ru/forum/viewtopic.php?f=62&t=156720
Касательно "" и <>....
В большей части для самодельных работает только "" - связано с тем, что определенные в виде папочек библиотеки должны размещаться исключительно в каталоге C:\Documents and Settings\USER\Мои документы\Arduino\libraries
Или без лишней "обвертки" в папке самого проекта.
Но вызов также "". (определено прописями где-то в дебрях самой IDE).
А <> касается только размещенных в "обвертках" компилятора или в каталоге IDE или в скрытых каталогах компиляторов. Это отлтичие ардуино IDE от работы с "чистыми компиляторами" Си.
Копать глубше - наши специалисты не слишком желание имеют...
:(
Относительно "множества одинаковых" - выбираем ту, что актуальна, а остальные временно выносим за пределы папки
C:\Documents and Settings\USER\Мои документы\Arduino\libraries
во временный каталог, к примеру:
C:\Documents and Settings\USER\Рабочий стол\временно заблокированные библиотеки ардуино
или закидываем в архив...
8)

Re: Объявление библиотек. Как правильно подключать библиотек

Добавлено: Вс фев 09, 2020 21:34:31
NStorm
1. Во-первых .h - это не библиотеки. А заголовочные файлы. Библиотеки ардуино еще и C++ (.cpp) файлы включают в себя. Подключаете вы хидер, который подтягивает уже остальное через скрипты Arduino IDE.
Разница "" и <> в том, что "" - файлы в текущем каталоге ищет (в том же, где и ваш "скетч" лежит), а <> по системным путям. В случае с ардуино последнее - как сказали уже. Но так подключаются не только "библиотеки" ардуино. Но и стандартные C/C++ заголовки в т.ч.

2. Т.к. указание "библиотек" в ардуино сделано "костылем" через подключение хидеров, то афаик - никак. Только убрать в сторону на время ненужные библиотеки.