Wie binde ich libraries ein?



  • Hi,
    ich bin völliger noob in Sachen Windows-Programmierung und wollte mal wissen,
    wie man dieses Problem vermeiden kann:

    Linker-Vorgang läuft...
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CRectangle::SetX(int)" (?SetX@CRectangle@@QAEXH@Z)
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CTriangle::Draw(struct HDC__ *)" (?Draw@CTriangle@@QAEXPAUHDC__@@@Z)
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CCircle::Draw(struct HDC__ *)" (?Draw@CCircle@@QAEXPAUHDC__@@@Z)
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CRectangle::Draw(struct HDC__ *)" (?Draw@CRectangle@@QAEXPAUHDC__@@@Z)
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CTriangle::CTriangle(int,int,int)" (??0CTriangle@@QAE@HHH@Z)
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CCircle::CCircle(int,int,int)" (??0CCircle@@QAE@HHH@Z)
    GeometricalObjects.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CRectangle::CRectangle(int,int,int,int)" (??0CRectangle@@QAE@HHHH@Z)
    LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
    Debug/GeometricalObjects.exe : fatal error LNK1120: 8 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.
    
    GeometricalObjects.exe - 9 Fehler, 0 Warnung(en)
    

    Ich hab öfter mal gehört, dass das was mit libraries einbinden zu tun hat.
    Stimmt das?? Wenn ja, wie mach ich das und woher weiss ich welche ich einbinden muss??

    Bitte helft einem kleinen noob wie mir 😃

    ⚠ PS: Ich habe ein WIN-32 Projekt angelegt, KEINE konsolenanwendung!!! ⚠





  • .....danke für den Link aba der hats nicht wirklich gebracht..... 😞

    bitte versucht mir zu helfen, ich weiss einfach nicht mehr weiter...



  • Wir habens dir schon zweimal gesagt und jetzt zum dritten mal:
    Investiere unbedingt in ein brauchbares C++ Buch!!!
    Das ist keine Frage, die erst in der Windows-Programmierung auftaucht, sondern C++ Grundausbildung.

    Natürlich musst du die Library mithinzubinden - bei Visual C in den Projekteinstellungen für den Linker.
    Und welche Lib. - das sagt dir die Anleitung zu der Klassenbibliothek, die du nutzen möchtest.
    Lass das stupide Copy&Paste lieber sein.



  • Das sind doch bestimmt deine eigenen Klassen die da genannt werden oder?



  • hmmmmmmmm schrieb:

    Das sind doch bestimmt deine eigenen Klassen die da genannt werden oder?

    Also das bezweifle ich ernsthaft.



  • PS: Ich habe ein WIN-32 Projekt angelegt, KEINE konsolenanwendung!!!

    Das bezweifle ich sehr!!! 😡 😡 😡 😡



  • Ich glaub du bist auf der falschen Hochzeit, ich denke mal das ist ehr was für MFC.
    Ob ich richtig liege werden wir sehen wen ein Mod den Move Button klickt.



  • MichaM. schrieb:

    Ich glaub du bist auf der falschen Hochzeit, ich denke mal das ist ehr was für MFC.

    CRectangle, CCircle etc. sind keine Klassen der MFC (auch wenn dieses grauenhafte Prefix das vermuten lässt).

    @Special Unit 007: Solche Linkerfehler deuten darauf hin, dass du vergessen hast die Funktionen zu implementieren.

    Ich kann dir auch nur raten: Kauf dir ein gutes C++-Buch.
    Fehler wie diese treten vor allem bei sturem Copy&Paste auf, ohne den Code wirklich verstanden zu haben.

    Nur der Vollständigkeit halber: Hast du ein reines Win32-Projekt erstellt oder eins mit MFC-Unterstützung?

    btw,

    Bitte helft einem kleinen noob wie mir

    Selbsterniedrigung fördert nicht gerade die Antwortrate, siehe [1].



  • <<< OFFTOPIC >>>
    Das ist ja der Hammer, @cd9000, wir müßen wohl beide zur gleichen Zeit auf dem Absenden Button geklickt haben, nur du ein paar Millis früher, ich hatte was geschrieben und abgesendet gefolgt von der Umleitung zum Thread, aber mein Post war nicht da, sondern deiner und ich erhielt ein JS Alert mit der Ausgabe: "=4". ??? Was auch immer dieser Effeckt war.
    <<< /OFFTOPIC >>>



  • ich glaube cd9000 hat deinen Beitrag gelöscht.



  • ich weis es schrieb:

    ich glaube cd9000 hat deinen Beitrag gelöscht.

    Dann muß er verdamt schnell sein und die Daten bei der Übertragung abfangen, innerhalb von Millisekunden entscheiden und Handeln, wenn er das kann, sage ich nur: Leute alle die zum Forum Treffen gehen, wenn cd9000 da ist, Vorsicht Harry Potter ist nichts dagegen.



  • so schnell kann er gar nicht gewesen sein. hab deinen beitrag nämlich gesehen :p



  • ich weis es schrieb:

    so schnell kann er gar nicht gewesen sein. hab deinen beitrag nämlich gesehen :p

    Echt? das ist komisch, hmmm kann sein das ich nach dem Absenden kurz verschwunden bin, zur Küche wegen meinem Nachtsnack und bei der Rückkehr auf Aktualisieren geklickt habe (Gewohnheit), aber ich bin mir da nicht sicher, vorallem war es ja nichts schlimmes, nur ein Link mit einem Denkanstoß.

    @cd9000, hastest du den Beitrag gelöscht? (wenn ja, ich weiß wo dein Auto steht 😃 )



  • cd9000,

    habs gefunden, abgekapselt und in "Neuigkeiten aus der realen Welt", gesteckt, gute Idee, der Lack bleibt ganz. 😃
    Denoch wundert mich der Zeitfaktor, hatte ich einen Sekundenschlaf oder war es die gier nach Käse?



  • das war ich. nicht cd9000 😋


Anmelden zum Antworten