Unresolved link?



  • Hallo,

    ich arbeite mit einer API einer bestimmten Software und habe beim kompilieren eines Addons diese Fehlermeldung erhalten:

    error LNK2001: unresolved external symbol "public: long __thiscall VPBuffer::Save(class Filename const &,long,class BaseContainer const &,long)" (?Save@VPBuffer@@QAEJABVFilename@@JABVBaseContainer@@J@Z)
    ...: fatal error LNK1120: 1 unresolved externals

    Was kann das bedeuten? Die headerdatei der Klasse mit der enthaltenen Methode ist korrekt und auch included.

    Was könnte es also noch bedeuten? Andere Methoden der Klasse funktionieren einwandfrei... 😕 Beim normalen kompilieren funzt alles auch. Keine Fehlermeldung. Nur beim endgültigen build kommt dieser Fehler.

    Hat jemand ne Ahnung? 😞

    Danke
    Gruss
    Sam



  • Es ist keine Implementierung von VPBuffer::Save(...) verhanden! Du musst schauen ob du die entsprechende cpp Datei in das Projekt eingebunden hast oder die entsprechende Library zum Programm hinzugelinkt hast!



  • Hi,

    stimmt die Parameterliste in der Header-File mit der Implementationsfile
    ueberein? Haste auch nicht vergessen, die Funktion zu implementieren? 😉

    mfg
    v R



  • Beim normalen kompilieren funzt alles auch. Keine Fehlermeldung. Nur beim endgültigen build kommt dieser Fehler.

    Das liegt daran, dass es sich hier um einen *Linkerfehler* handelt. Der Compiler wird durch die Header-Datei zufrieden gestellt in der die Deklaration der entsprechenden Methode steht. Der Linker braucht aber auch die Definition.

    Ansonsten haben KPC und virtuell Realisticer ja schon geschrieben, was du sicherstellen musst.



  • Hi ihr drei,

    vielen Dank für eure Hilfe! Stimmt, genau daran lags, die Definition ist gar nicht vorhanden in der dazugehörigen .cpp datei und auch sonst ist sie nicht da.

    Und ich dachte ich hätte mal wieder was kaputt gemacht 🙂

    Danke und Gruss
    Sam


Anmelden zum Antworten