mthread and multiple header files
The compiler error is due to that the compiler does not know what Thread is.


  tcan.h:6:28: error: expected class-name before '{' token class tcan : public Thread {


The issue is that the header file is not complete. A good practice is to include all header files that are needed to read the header file. As Thread is defined in mthread.h the tcan.h file should be: 

#ifndef tcan_h
#define tcan_h

#include &lt;mthread.h&gt;

class tcan : public Thread {
public: tcan();
protected: bool loop();
private:
};
#endif


Cheers!