Ошибки компиляции библиотеки Teensy / Arduino

В настоящее время я пишу библиотечное приложение для моего Teensy, используя Arduino IDE, и до сих пор это было достаточно просто сделать. Однако я столкнулся с некоторой странной ошибкой компиляции, которую я просто не могу понять. Моя библиотека включает в себя хорошо известную библиотеку IRRemote для того, чтобы я мог создать библиотеку-оболочку, чтобы быть более точным в том, как мне нужно взаимодействовать с библиотекой IR Remote. У меня проблема с одной из функций библиотеки IR Remote:

void  sendRaw(const unsigned int buf[],unsigned int len, unsigned int);

Хотя это может показаться простой функцией для использования, у меня возникла проблема с первым аргументом функции. Я перепробовал все различные способы передачи чего-либо этому параметру функции, но что бы я ни делал, он просто не скомпилируется. В настоящее время я установил переменную

unsigned int bufferToSend[5] = {1,2,3,4,5}; // data is just for example purposes

когда я пытаюсь позвонить

sendRaw(bufferToSend, 5, 38); // Values are just for example purposes

я получаю ошибку компилятора

undefined reference to `IRsend::sendRaw(unsigned int const*, unsigned int, unsigned int)'

Интересно, что если я вызываю ту же функцию непосредственно из файла Arduino .ino, а не через мой библиотечный вызов, код компилируется и работает отлично. Я что-то упускаю явно очевидное?

0

Решение

С помощью «Некоторого программиста, чувак» я смог решить эту проблему. Как было совершенно справедливо указано, я не связывался с внешней библиотекой из своей библиотеки. Работая со связыванием библиотек ранее, я знаю, что это абсолютно фундаментально, однако, с Arduino и его природой, он собирает библиотеки, которые связаны с «на ходу», когда вы включаете из скрипта Arduino, и поэтому я стал жертвой мысли об этом будет то же самое в пользовательской библиотеке. Я наткнулся на очень хорошую рецензию на мою точную проблему ниже, которая дает отличное объяснение некоторой магии Arduino «дым и зеркала» и как обойти проблему, с которой я столкнулся здесь.

Advanced Arduino — Включение нескольких библиотек в ваш проект

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]