Как указать относительный путь #include в Arduino IDE

Всем привет
Есть несколько проектов с общими библиотеками
Как то можно разместить библиотеки не в общей папке библиотек Arduino, а где ни будь рядом с проектами:

Проект1/Проект1.ino
Проект2/Проект2.ino
Библиотека1/Библиотека1.cpp
Библиотека1/Библиотека1.h

Пытаюсь в проекте подключить библиотеку:
#include “…/Библиотека1/Библиотека1.h”

Не находит при компиляции

А смысл? Кладите в общую и пользуйтесь штатно

ЗЫ: выход на уровень вверх - две точки и слэш, а не три точки

Две точки не работают. И обратный слэш не работает. Дело в том, что Ардуино все файлы перетаскивает во временный каталог и там компилирует

А нужно это для нормальной работы c внешним GIT
Чтобы весь проект можно было там держать
Ну и тиражировать на новый компьютер удобнее
А постоянно перекладывать библиотеку в системную папку не очень, особенно когда удаленно не самый грамотный человек сидит

К сожалению, по уму - никак (может, как-то и можно, но я не нашёл).

Костыль есть - указывать в #include полный путь, прямо от диска. Так работает. Но, блин, костылище ж!

Интересно, почему адруино иде не умеет работать с относительными путями? Все ж умеют…

Ну так закиньте и эти библиотеки на git.чтобы они были доступны всем нуждающимся. Кому нужно - пусть устанавливают у себя

А по другому никак (

К сожалению, мне не совсем подходит. Мне нужно чтобы я в произвольной апке клонировал проект с GIT-репозитория и потом его собрал.
Была бы возможность выполнения скрипта перед сборкой проекта, распихивал бы файлы библиотек перед каждой сборкой внутрь проекта.

Так пока и делаю. Но пару раз забыли обновить. Хочется то красоты и гармонии, чтобы одной кнопочкой весь проект тиражировался и собирался. )))
Проавда бывает, что до очередной версии Ардуино )))

Вопрос дисциплины ))

Только в Проект1\sys. Но ничто не мешает создать ссылки (junction point) на Проект1\sys\ из других проектов.

Если я правильно понял о чём тут, то у меня такое не сработало. Вы сами пробовали? Если да, то можно поподробнее?

такая возможность есть

Make?

в Arduino IDE?

Ой, дико извиняюсь. Папка src а не sys. Опечатался.(
Ну и в Windows: mklink /j prj1\src\ prj2\src.

Используй platformio

Или Visual Micro. Добавляешь в любой проект ссылку на каталог с библиотечными текстами и все файлы из неё автоматом подхватывается в текущем проекте.

вот это вот всё автоматически видно в любом проекте, куда подключена ссылка

Оно, мошт, 90% из этого в данном проекте не пригодится, зато всё в одном месте

да в VisualStudioCode, и в VMicro это все решаемо…
речь про Arduino IDE, семсотседьмой сказал что знает, но видимо камбоджийские красавицы обольстили его сегодня наглухо))

1 лайк

Да
В ИДЕ сборка разделена на стадии - препроцессинг, компиляция, линковка, вычисление размера… Для каждой стадии запускается соответствующий инструмент через командную строку.
Кроме того, для большинства стадий можно настроить юзерские скрипты до и после основного действия.
Все это в platform.txt

1 лайк