Eclipse добавить библиотеку
Я тут совсем запутался, понятия не имею, что я делаю не так. Я использую Eclipse Mars с расширением Eclipse C++ Arduino. Я также использую библиотеку COSA, вот где возникает проблема. Я могу использовать все основные библиотеки COSA, но не могу понять, как включить другие библиотеки, которые поставляются с COSA, в частности файл ST7920.h, который находится в папке библиотек. Есть ли у кого-нибудь опыт с этим?
Я пробовал задать путь с помощью Project->C/C++ General->Preprocessor include paths и задать его там, но безрезультатно.
Меня беспокоит то, что в этих отдельных библиотеках они включают файлы, которые находятся в других библиотеках, используя только заголовочный файл, например, в файле ST7920.hh есть:
#include "Cosa/LCD.hh"
#include <HD44780.h>
Мне нужно настроить все так, чтобы файл HD44780.h также был найден. Этот файл находится в "../HD44780/HD44780.h". Как мне сказать компилятору искать файлы в папке "libraries"?
Также я попробовал просто добавить папку библиотек как связанную папку в свой проект, но это тоже не сработало.
Единственный код, который у меня есть, — это #include, и компилятор сообщает, что не может найти файл.
@Andy Braham, 👍0
Обсуждение2 ответа
Если вы используете Linux, я бы рекомендовал взглянуть на скрипт сборки на основе makefile для Cosa (см. Cosa/build). После настройки сборка из любой IDE — более или менее простая команда. Makefile не требуется. Скрипт cosa сделает всю работу.
$ cosa BOARD ACTION
например
$ cosa uno avanti
который создаст скетч для Arduino Uno, загрузит и запустит последовательный монитор. Это можно использовать из любой IDE. Я использую GNU Emacs, MX compile (F2), с командой .
То, как работает препроцессор Arduino, каждая указанная библиотека должна быть включена в скетч. Для скетча, который использует ST7920:
#include <HD44780.h>
#include <ST7920.h>
Я работаю на Windows, а не на Linux, есть ли версия скрипта для Windows? Мне кажется, что я должен просто добавить папку Libraries в Eclipse куда-нибудь, чтобы указать на нужную папку., @Andy Braham
Вы должны иметь возможность настроить Eclipse для добавления путей включения для необходимых библиотек. Это в основном то, что делает предварительная обработка в сборке Arduino (т.е. поиск и добавление путей включения для компилятора)., @Mikael Patel
Вот именно, я и говорю, я просто не знаю, как это делается, все, что я пытался связать библиотеки, не работает, я пробовал импортировать всю папку библиотек как связанную папку. Я пробовал добавлять и папку библиотек, и папку ST7920 как папки include, папки библиотек и т. д., @Andy Braham
Я попытался установить обычную среду разработки Arduino и установил Cosa через менеджер дополнительных плат, и дополнительные библиотеки были перечислены в библиотеках. Я смог скомпилировать ее через среду разработки Arduino. Можете ли вы вспомнить что-нибудь, чего мне может не хватать в Eclipse? Это действительно звучит как очень хорошая библиотека, и я действительно хочу, чтобы она работала, так как она идеально подходит для моего текущего проекта., @Andy Braham
Я бы посоветовал использовать плагин Arduino Eclipse, а не расширение Eclipse C++ Arduino.
Расширение Eclipse C++ для Arduino все еще находится в стадии разработки.
Плагин Arduino Eclipse существует уже много лет и содержит гораздо больше функций.
Если вы используете V3 (на момент написания статьи это все еще ночная версия), вы можете использовать менеджер досок и файл cosa json для импорта досок cosa.
Импорт библиотеки — это вопрос набора текста
#include "libname"
и экономия.
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
FWIW Я перестал использовать плагин Eclipse Arduino и заменил всю свою среду на Netbeans 8 (примечание: я также использую ядро Cosa и несколько его библиотек). Хотя мне потребовалось некоторое время, чтобы настроить все с нуля, теперь у меня есть рабочая установка, которая работает просто отлично., @jfpoilpret
Интеграция Netbeans не была простой, но она работала хорошо после того, как была сделана. Я не использовал для этого какой-либо специальный плагин., @jfpoilpret