Доброго времени суток!
Вот код базового класса и класса наследника:
daemon.hpp:
class TDaemon{
protected:
static char ConfigFileName[128];
public:
TDaemon(const char* ConfigName);
~TDaemon(){ };
virtual void DaemonFunction(unsigned int, void*);
};
usb_daemon.hpp:
class TUSB_Daemon : public TDaemon{
private:
public:
void DaemonFunction(unsigned int, void*);
TUSB_Daemon(const char* ConfigName) : TDaemon(ConfigName){};
};
Конструктор TDaemon
определен в файле daemon.cpp
.
Почему линкер выдает такую ошибку?
usb_daemon.o:(.rodata._ZTI11TUSB_Daemon[_ZTI11TUSB_Daemon]+0x10): undefined reference to `typeinfo for TDaemon'
daemon.o: In function `TDaemon::TDaemon(char const*)':
/home/igor/templates/daemon/src/daemon.cpp:235: undefined reference to `vtable for TDaemon'
main.o: In function `TDaemon::~TDaemon()':
/home/igor/templates/daemon/src/daemon.hpp:35: undefined reference to `vtable for TDaemon'
collect2: error: ld returned 1 exit status
Все ж вроде корректно объявлено?