Unresolved External



  • Hallo zusammen,

    Ich schreibe zur Zeit in Visual Studio.NET 2003 an einem Visual C++-Programm.
    In meinem Projekt habe ich in der Datei frmInit.cpp folgendes stehen:

    #include "et1000.h"
    

    Diese Datei (et1000.h) befindet sich im gleichen Verzeichnis wie die frmInit.cpp (und frmInit.h).
    Soweit so gut.
    In der et1000.h heißt es:

    int DLL_EXPORT ETGetLinkStatus(void);
    

    Heißt doch, dass es eine Funktion ETGetLinkStatus gibt (die aus einer DLL importiert wird?), die ein int zurückgibt und keine Paramter erwartet, oder?
    Wenn ich jetzt in meinem Projekt versuche die Funktion zu rufen bekomme ich folgende Fehlermeldung beim Compilieren:

    error LNK2001: unresolved external symbol "int __stdcall ETGetLinkStatus(void)" (?ETGetLinkStatus@@$$J10YGHXZ)

    Heißt für mich, dass er die Funktion nicht findet, oder? Wieso aber nicht, wenn sie doch in der Header-Datei steht und diese auch in mein Projekt eingebunden ist?
    Die DLL (in der die Funktion laut Hersteller definiert wurde) ist auch im gleichen Verzeichnis wie die h-Dateien.
    Laut einem Beispielprogramm des Hersteller (für C) funktioniert der Aufruf auch genau so...

    Danke fürs lesen und viele Grüße



  • Um die DLL einzubinden brauchst Du auch die passende LIB dazu. Diese musst Du dann noch zu Deinem Projekt dazulinken (z.B. via #pragma comment(lib, "die lib.lib") )



  • Hi, danke für die Hilfe, funktioniert.

    Viele Grüße 🙂


Anmelden zum Antworten