Externes Symbol nicht aufgelöst... beim Umzug von VS2003 zu VS2005



  • Hallo!

    Ich habe von VS 2003 auf 2005 umgestellt, nun bekomme ich bei einem Projekt, was ich unter 2003 erstellt habe folgende Fehlermeldung:
    "error LNK2019: unresolved external symbol "public: virtual __thiscall CDIB::~CDIB(void)" (??1CDIB@@UAE@XZ) referenced in function "public: virtual __thiscall CPpDlg::~CPpDlg(void)" (??1CPpDlg@@UAE@XZ)"

    Die Klasse ist vorhanden, kann es daran liegen, dass ich keine CPP Datei habe (die Funktionen befinden sich ebenfalls mit in der Header-Datei)?
    VS2003 hatte damit eigentlich keine Problem..

    Oder gibt es bei 2005 andere Besonderheiten, die ich übersehen habe?

    Danke!

    MfG
    Pete



  • Der Linker meckert, weil er den "Funktionsrumpf" für den virtellen Destruktor der Basisklasse (CDIB) nicht findet, den der Destruktor der abgeleiteten Klasse automatisch aufruft. Mehr kann ich dazu aber auch nicht sagen 😉



  • Die Implementierung der Klasse CDIB ist vermutlich in einer Bibliothek, die im Projekt bei VS2003 hinzugefügt war, nun bei 2005 aber noch nicht hinzugefügt worden ist. Rechtsklick auf das Projekt im Projektmappen-Explorer, Eigenschaften, Linker, Eingabe, Zusätzliche Abhängigkeiten überprüfen...


  • Mod

    gentlesea schrieb:

    Die Implementierung der Klasse CDIB ist vermutlich in einer Bibliothek, die im Projekt bei VS2003 hinzugefügt war, nun bei 2005 aber noch nicht hinzugefügt worden ist. Rechtsklick auf das Projekt im Projektmappen-Explorer, Eigenschaften, Linker, Eingabe, Zusätzliche Abhängigkeiten überprüfen...

    Wenn es eine Bibliothek wäre, dann würde einfaches Hinzufügen nicht genügen. Man muss auch die Bibliothek mit dem neuen Compiler übersetzen.


Anmelden zum Antworten