Библиотека файлов нескольких пользователей

Я хочу разместить все свои библиотеки на сервере. В настоящее время скетчи работают нормально, и, насколько я знаю, библиотеки поступают с отдельных машин Linux Mint, использующих cinnamon, выпуски различаются в зависимости от машины. Я могу перемещать библиотеки и т. д., но что мне делать с IDE 1.8.18 и 1.8.19? чтобы заставить его следовать по этому пути.

, 👍0

Обсуждение

Как насчет того, чтобы поместить все библиотеки в общий сетевой ресурс, а затем смонтировать этот общий ресурс на каждом компьютере с Linux в папку библиотек?, @chrisl

Насколько я знаю, сервер уже смонтирован. В графическом интерфейсе я выбираю сервер, затем соответствующую папку. Он отображается как «сеть:///». Затем я выбираю server20 и получаю это «smb://server20.local/», затем я выбираю свою целевую папку «smb://server20.local/documents/», в этот момент любой открытых подпапок и файлов, таких как открытие скетча и т. д., и они будут скомпилированы без проблем. Я использую Linux много лет и ценю его мощь, но я определенно не понимаю его полностью., @Gil

Если вы введете команду «mount» в терминал командной строки, он отобразит все смонтированные каталоги. Но чтобы смонтировать сетевой ресурс в определенном каталоге, вам, скорее всего, придется научиться их монтировать. Существует множество руководств по команде монтирования и файлу fstab для постоянного монтирования., @chrisl

Как это позволяет IDE получать доступ к библиотекам на сервере или других дисках? Насколько я понимаю, мне нужно изменить путь по умолчанию в IDE. Если это правильно то как?, @Gil

Это позволит получить доступ к файлам, потому что при монтировании ОС сделает файлы доступными внутри обычной структуры каталогов. При монтировании вы можете выбрать каталог, в котором должны быть видны сетевые файлы. Это называется точкой монтирования. В настоящее время я не могу проверить, будет ли работать использование URL-адреса smb:// в настройках местоположения альбома для рисования. Поэтому сначала проверьте это. Когда вы подтвердите, что это не работает (что я могу предположить), тогда я напишу ответ с описанием решения для монтирования, @chrisl


1 ответ


Лучший ответ:

1

Arduino IDE может использовать библиотеки только из 3 мест.

  1. папка с библиотеками в папке скетчбука
  2. папка с библиотеками выбранной платформы
  3. папка с библиотеками в папке установки IDE (только IDE 1, а не IDE 2)

Нет возможности настроить другие пути, а абсолютные или относительные пути не работают в директиве #include в процессе сборки Arduino.

Единственный способ использовать библиотеки из другого места — связать средствами операционной системы папку с библиотекой в одно из искомых мест.

,

и вопрос о том, как связать локальные или удаленные папки, не относится к теме Arduino SE. вы можете спросить об этом на других сайтах Stack Exchange. https://askubuntu.com/, https://unix.stackexchange.com/, https://superuser.com, @Juraj

Спасибо, это все, что я смог сделать. Он работает с «библиотеками» в папке скетча, но я не знал, что могу добавить папку библиотек в папку скетча, это очень помогает. Реально большое спасибо :-), @Gil

@Gil Я уверен, что в папке вашего альбома для рисования есть папка с библиотеками. Туда же Arduino IDE устанавливает библиотеки. папки library в папке скетча работать не будет., @Juraj

Вы правы, и много раз я не хочу их использовать. В моих других папках "скетчбук" нет библиотек (у меня есть несколько с разными именами), кроме той, что была создана IDE. Мне нравится помещать «аппаратные» библиотеки в папку фактического скетча, такую как «LiquidCrystal_I2C.h», так как во многих случаях старые программные файлы не будут компилироваться из-за произошедших изменений в библиотеке. Многие скетчи находятся на сервере и прекрасно компилируются с нескольких разных машин с библиотекой в той же папке, что и файл .ino., @Gil

Существуют такие файлы, как home.h, в которых есть определения для всего оборудования, адресов и т. д. в системе домашней автоматизации. У меня только один экземпляр. Я могу включить его из любого места на одной машине, но не на сервере., @Gil

@Gil home.h тоже может быть библиотекой, @Juraj

Вы правы, теперь вы знаете проблему, как сохранить это в одном месте для нескольких разных компьютеров, где единственным общим потоком является сервер, который они все используют. В настоящее время я храню его в одном месте и копирую в другие, что очень подвержено ошибкам. Спасибо за помощь., @Gil

@ Гил, почему бы просто не разместить папку с альбомом на общем сетевом диске?, @Juraj

Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/139989/discussion-between-gil-and-juraj)., @Gil