Как использовать существующую (не специфичную для Arduino) библиотеку с вложенными папками в Arduino IDE?
У меня есть универсальная библиотека c++, которую я хотел бы использовать в проекте arduino без внесения изменений в код библиотеки. Библиотека содержит вложенные папки, и файлы в библиотеке включают в себя другие файлы той же библиотеки с включениями формы
#include "libraryroot/subfoldername/header.h"
Я попытался положить libaryroot в C:/Users/Username/Documents/Arduino/libraries но пока я могу включить заголовки, которые лежат непосредственно внутри 'libraryroot с помощью #включают <filename.h>
(не #включают <libraryroot filename.h="">
), Ардуино не удается найти заголовки эти файлы включают
Как я могу использовать такую библиотеку в Arduino без необходимости изменять библиотеку?
1 ответ
Чтобы использовать вложенные папки с любым именем в библиотеке Arduino, вы должны использовать спецификацию библиотеки 1.5.
В папке библиотеки в папке скетча создайте папку для библиотеки. В этой папке создайте подпапку src и поместите исходный код библиотеки в эту подпапку. Затем создайте файл library.properties в корневой папке библиотеки с некоторой фиктивной информацией. Заполните ключ
includes
основным файлом .h библиотеки.
Documents/
Arduino/
libraries/
FooLib/
src/
subfoldername/
header.h
some.h
some.cpp
foolib.h
foolib.cpp
library.properties
В коде затем используйте in #укажите
путь с папкой src в качестве начального местоположения.
#включить <имя подпапки/заголовок.h><имя подпапки/заголовок.h>
- Какие Arduino поддерживают ATOMIC_BLOCK?
- Как масштабировать растровое изображение (массив uint8_t) в Arduino?
- Попытка разрешить недопустимое преобразование из «байта» {он же «беззнаковый символ»} в
- Используйте ISR внутри библиотеки более элегантно
- Создание библиотеки для ардуино
- Не удалось построить программу с программой arduino под clion
- Матрица и пространство состояний Реализация Arduino
- Как объявить указатель на библиотеку arduino neopixels, чтобы настроить его в функции настройки с помощью динамических переменных?
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#layout-of-folders-and-files, @Juraj
Проверьте ввод-вывод платформы для кода Visual studio. Это гораздо лучшая среда разработки, и она позволит вам легче выполнять такие задачи., @geometrikal
@Juraj Я уже читал это, но я все еще не понял, как это можно сделать, @matthias_buehlmann