Eigene DLL erstellen - undefinied reference to ... wenn Funktion nicht definiert ist (egal ob auch benutzt)



  • Hallo!

    Ich habe mir vorgenommen mir selbst eine kleine Engine zu basteln, dich ich dann immer wieder verwenden kann. (Vor allem zum lernen)

    Nun habe ich aber ein Problem:

    Wenn ich eine Funktion nur deklariere, aber keinen Funktionsrumpf schreibe murrt der Compiler: undefinied reference to ...
    Und zwar auch wenn ich die Funktion gar nicht verwende. Ich könnte mir zwar vorstellen dass das so gehört, bin mir aber nicht sicher.
    Aber mein größeres Problem:
    Wenn ich eine statische Variable definiere murrt der Compiler genauso!

    Bsp:

    class elApplication : elMessageHandler
    {
    public:
        static elApplication* elGetSingleton();
        virtual void elStart(int argc, char **argv);
        virtual void elExit();
    private:
        elApplication() { };
    };
    

    Wenn ich jetzt nach elApplication die { } entferne murrt der Compiler. Auch wenn ich die statische Variable

    static elApplication singleton;
    

    einfüge murrt er. Kann mir jemand sagen warum das so ist?

    Achja: Der Compiler murrt erst wenn ich diese DLL (eher lib, ich arbeite derzeit unter Linux) linke, nicht schon beim erstellen.

    Ich verwende:
    Code::Blocks
    gcc 4.1

    Vielen Dank schon mal im Voraus!

    lg, bloodycross


Anmelden zum Antworten