Подключение библиотеки из папки со скетчем
- Войдите на сайт для отправки комментариев
Ср, 25/12/2019 - 15:27
Вобщем есть папка со скетчем, в этой же папке размещается папка с бибилиотекой GyverButton/GyverButton.h и подключается в скетче:
#include "GyverButton/GyverButton.h" void setup() { // put your setup code here, to run once: GButton butt(5); butt.tick(); } void loop() { // put your main code here, to run repeatedly: }
при компиляции этого кода выдает ошибку:
C:\ccOrnwLf.ltrans0.ltrans.o: In function `setup': C:\sketch_dec24a/sketch_dec24a.ino:5: undefined reference to `GButton::GButton(unsigned char)' C:\sketch_dec24a/sketch_dec24a.ino:6: undefined reference to `GButton::tick()' collect2.exe: error: ld returned 1 exit status exit status 1 Error compiling for board Arduino Nano.
Я так понимаю невидет компилятор файла GyverButton.cpp который находится в тойже папке что и GyverButton.h.
Когда файлы GyverButton.cpp и GyverButton.h ложу рядом со скетчем без папки GyverButton, все работает.
Как мне сделать чтобы работало с папкой в которой бы находились файлы библиотеки, так как будет много бибилиотек и хотелось бы все структорировать по папкам и в директории со скетчем.
Никак. И сверх того, библиотеки рассчитаны на то, что их будут использовать из менеджера, так что даже если всё сложить в одну папку, без правки кода библиотек много чего работать не будет.
...находится в тойже папке что и GyverButton.h.
Ну не знаю... Пока не встречал, чтобы библиотеки не работали, но это може быть пока.
Кладу всегда хедер в хедер, а реализацию - в отдельный .ino файл. В реализации в .ino при этом убираю подключение хедера (если оно там было), оставляю только в главном файле.
Как мне сделать чтобы работало с папкой в которой бы находились файлы библиотеки, так как будет много бибилиотек и хотелось бы все структорировать по папкам и в директории со скетчем.
установить библиотеку как положено, в папку libraries