unresolved external....



  • hallo leute..

    ich bin etwas ratlos. ich bekomme mehrere error linkfehlermeldungen wie

    [Link Fehler] Unresolved external 'ClassA::OnDestroy()' referenced from <pfad>\main.obj

    class classA:
    {
    public:
    void OnDestroy();
    ~GUI_Element()
    {
    OnDestroy();
    }
    };

    mal vereinfacht.... da steht natürlich noch mehr .. aber wieso kommt dieser fehler?

    der selbe fehler bei dieser zeile
    virtual void AddEntry(AnsiString text);

    wenn ich das "virtual" wegnehme .. verschwindet der fehler.
    ich versuche grad das vc++ projekt in cbuilder einzuarbeiten und dort hatte der quelltext 0warnings geschweige denn errors .. was soll das jetzt? ist der cbuilder zu dumm oder peil ich nur was nicht? 😕



  • Über die VC++ Projekt Konvertierung erzeugtes Projekt ???



  • das problem hatt ich mit mysql++ auch grad ... du musst einfach mit implib alle .lib dateien aus VC++ neu erstellen (einfach in der dos-prompt implib name.lib name.dll eingeben) und dann sollte das gehen ...
    evtl. must du auch mti impdef (gleiche syntax) alle .def's neu erstellen
    mfg



  • nee... mal von vorne neues projekt angefangen

    ich mach 2 classen

    // HPP

    class classA
    {
    private:
    public:
    classA();
    ~classA();
    };
    

    // CPP

    classA::classA()
    {
    }
    classA::~classA()
    {
    }
    

    //#######

    class classB : public classA
    {
    private:
        AnsiString e_text;
    public:
        void SetText(AnsiString text);
        AnsiString GetText();
    
    classB();
    ~classB();
    };
    

    // CPP

    void classB::SetText(AnisString text)
    {
      l_text=text;
    }
    AnisString classB::GetText()
    {
      return l_text;
    }
    
    classB::classB()
    {
    }
    classB::~classB()
    {
    }
    

    compiliere und KEINE fehler ...

    so jetzt binde ich in Unit1.cpp die classA header ein

    classB *testc = new classB();
    testc->SetText("huhu");
    Caption=testc->GetText();
    delete testc;

    wusch und schon kommt das:

    [Linker Fehler] Unresolved external 'classB::~classB()' referenced from ...\MAIN.OBJ
    [Linker Fehler] Unresolved external 'classB::classB()' referenced from ...\MAIN.OBJ
    [Linker Fehler] Unresolved external 'classB::SetText(System::AnsiString)' referenced from ...\MAIN.OBJ
    [Linker Fehler] Unresolved external 'classB::GetText()' referenced from ...\MAIN.OBJ

    ich verstehe nur nicht ganz was das werden soll
    #include "classB.h" habe ich doch

    in vc++ gibts dahingehend keine probleme .. ich weiss erlich net was ich wo anders machen soll.



  • ich sehe grad das eine classA.obj existiert, aber keine classB.obj

    wieso gibt es eine classA.oj aber keine classB.obj und wie bekomme ich die fehlnde?
    *doof wohl bin*



  • Hi,
    hast du die classB.cpp ins Projekt hinzugefügt?

    MfG

    Alexander Sulfrian



  • ok das war stein des anstosses ... leicht kompliziert habens das gemacht... danke


Anmelden zum Antworten