Создал простую библиотеку для ардуино:
Test_lib.h
#ifndef Test_lib_h
#define Test_lib_h
extern void Idle(void);
#endif
Test_lib.cpp
#include "Test_lib.h"
inline void Idle(void){}
В проекте подключаю ее:
#include <Test_lib.h>
void setup()
{
Idle();
}
void loop() {}
Компилятор выдает ошибку:
undefined reference to `Idle()'
Но если в библиотеке убрать "inline" все работает. Почему так происходит и что делать? функция будет использоваться в прерывании, поэтому inline очень желателен.