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.


Anmelden zum Antworten