Singleton: Undefined reference beim Linken...
-
eigentlich ganz simpel...
Deklaration in der cpp Datei:
SystemBufferLifeCycle *SystemBufferLifeCycle::getInstance() { if (!_instance) { _instance = new SystemBufferLifeCycle(); } return _instance; }
Zugehöriges inner hpp:
private: static SystemBufferLifeCycle *_instance; public: static SystemBufferLifeCycle *getInstance();
Kompiliert wie er sollte, beim Linken hagelts dann Fehler:
../../src/systembuffer/libsbl_stud.a(SystemBufferLifeCycle.o): In function `i6db::systembuffer::SystemBufferLifeCycle::getInstance()': /home/cip/2006/sifrboet/aufgabe2/src/systembuffer/SystemBufferLifeCycle.cpp:44: undefined reference to `i6db::systembuffer::SystemBufferLifeCycle::_instance' /home/cip/2006/sifrboet/aufgabe2/src/systembuffer/SystemBufferLifeCycle.cpp:45: undefined reference to `i6db::systembuffer::SystemBufferLifeCycle::_instance' /home/cip/2006/sifrboet/aufgabe2/src/systembuffer/SystemBufferLifeCycle.cpp:47: undefined reference to `i6db::systembuffer::SystemBufferLifeCycle::_instance'
Müsste zumindest wissen in welcher Richtung ich den Fehler suchen soll, bin relativ ratlos grade und muss bis morgen abgeben.....
MfG und Danke im Vorraus
-
Da fehlt die Definition deines Instanz-Zeigers -
SystemBufferLifeCycle *SystemBufferLifeCycle::_instance;
in die CPP-Datei.