Usare propria libreria dentro ad un'altra libreria

Salve a tutti,

ho un problema che mi affligge:
ho scritto una libreria “MyTimer” con la quale posso creare un semplicissimo oggetto “sveglia”:

/**
 * MyTimer.h
 * Simple timer based on millis()
 */
class MyTimer {
	
	public:
		MyTimer();
		void begin();
		boolean checkAlarm(boolean setagain);
		void cancel();
...
};

Vorrei utilizzare questa libreria includendola nelle mie altre librerie dove necessito di avere a disposizione un timer, ad esempio questa semplice sirena:

#include "../MyTimer/MyTimer.h"
/**
 * Siren.h
 */
class Siren{

    public:
        Siren();
        void play();
        void checkPlay();
        void stop();

    private:
        ...
        MyTimer noteDuration;
};

compilando ottengo una serie di:

Siren/Siren.cpp.o: In function Siren::Siren()': /home/willy/Arduino/libraries/Siren/Siren.cpp:11: undefined reference to MyTimer::cancel()’

/home/willy/Arduino/libraries/Siren/Siren.cpp:11: undefined reference to `MyTimer::MyTimer()’

Per adesso ho risolto in un modo veramente poco elegante: ho copiato MyTimer.h/.cpp all’interno della cartella della libreria dove li voglio utilizzare, ho rinominato i file e la classe (ad es: MyTimer → Siren_MyTimer).

Esiste una soluzione migliore?

Grazie mille!

Per adesso ho risolto in un modo veramente poco elegante: ho copiato MyTimer.h/.cpp all'interno della cartella della libreria dove li voglio utilizzare, ho rinominato i file e la classe (ad es: MyTimer -> Siren_MyTimer).

Esiste una soluzione migliore?

Ciao, beh non è una soluzione poco elegante. Anzi. Di solito si fa proprio cosi (non è necessario rinominare la libreria). Perchè se poi vuoi esportare il progetto e rendere disponibile il codice devi portarti dietro tutte le librerie e se le hai gia tutte in una cartella "MY_PROJECT" è molto più semplice poi linkare le diverse librerie e portare il codice magari su altre macchine.

al limite ti potresti fare una cartella "lib" dove dentro metti tutte le librerie utili per il progetto e poi dentro al codice vai a richiamare le librerie cosi

#include "lib/my_library.h"