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, и компилятор сообщает, что не может найти файл.

, 👍0

Обсуждение

FWIW Я перестал использовать плагин Eclipse Arduino и заменил всю свою среду на Netbeans 8 (примечание: я также использую ядро Cosa и несколько его библиотек). Хотя мне потребовалось некоторое время, чтобы настроить все с нуля, теперь у меня есть рабочая установка, которая работает просто отлично., @jfpoilpret

Интеграция Netbeans не была простой, но она работала хорошо после того, как была сделана. Я не использовал для этого какой-либо специальный плагин., @jfpoilpret


2 ответа


0

Если вы используете 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


1

Я бы посоветовал использовать плагин Arduino Eclipse, а не расширение Eclipse C++ Arduino.

Расширение Eclipse C++ для Arduino все еще находится в стадии разработки.

Плагин Arduino Eclipse существует уже много лет и содержит гораздо больше функций.

Если вы используете V3 (на момент написания статьи это все еще ночная версия), вы можете использовать менеджер досок и файл cosa json для импорта досок cosa.

Импорт библиотеки — это вопрос набора текста

#include "libname"

и экономия.

,