Библиотека файлов нескольких пользователей
Я хочу разместить все свои библиотеки на сервере. В настоящее время скетчи работают нормально, и, насколько я знаю, библиотеки поступают с отдельных машин Linux Mint, использующих cinnamon, выпуски различаются в зависимости от машины. Я могу перемещать библиотеки и т. д., но что мне делать с IDE 1.8.18 и 1.8.19? чтобы заставить его следовать по этому пути.
@Gil, 👍0
Обсуждение1 ответ
Лучший ответ:
Arduino IDE может использовать библиотеки только из 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
- avrdude ser_open() can't set com-state
- Arduino Uno: avrdude: stk500_recv(): программатор не отвечает
- Проблема с Arduino Nano 33 IOT
- Невозможно загрузить код на Arduino Nano.
- Использование библиотеки Arduino fix_fft или arduinoFFT для фильтрации определенного звука?
- Как сгенерировать файлы .a и .so для добавления в проект arduino
- Проблемы со скоростью шагового двигателя Nema 17
- Помогите исправить эту ошибку: expected unqualified-id before 'if'|Arduino
Как насчет того, чтобы поместить все библиотеки в общий сетевой ресурс, а затем смонтировать этот общий ресурс на каждом компьютере с Linux в папку библиотек?, @chrisl
Насколько я знаю, сервер уже смонтирован. В графическом интерфейсе я выбираю сервер, затем соответствующую папку. Он отображается как «сеть:///». Затем я выбираю server20 и получаю это «smb://server20.local/», затем я выбираю свою целевую папку «smb://server20.local/documents/», в этот момент любой открытых подпапок и файлов, таких как открытие скетча и т. д., и они будут скомпилированы без проблем. Я использую Linux много лет и ценю его мощь, но я определенно не понимаю его полностью., @Gil
Если вы введете команду «mount» в терминал командной строки, он отобразит все смонтированные каталоги. Но чтобы смонтировать сетевой ресурс в определенном каталоге, вам, скорее всего, придется научиться их монтировать. Существует множество руководств по команде монтирования и файлу fstab для постоянного монтирования., @chrisl
Как это позволяет IDE получать доступ к библиотекам на сервере или других дисках? Насколько я понимаю, мне нужно изменить путь по умолчанию в IDE. Если это правильно то как?, @Gil
Это позволит получить доступ к файлам, потому что при монтировании ОС сделает файлы доступными внутри обычной структуры каталогов. При монтировании вы можете выбрать каталог, в котором должны быть видны сетевые файлы. Это называется точкой монтирования. В настоящее время я не могу проверить, будет ли работать использование URL-адреса smb:// в настройках местоположения альбома для рисования. Поэтому сначала проверьте это. Когда вы подтвердите, что это не работает (что я могу предположить), тогда я напишу ответ с описанием решения для монтирования, @chrisl