Kann Funktion aus dll nicht aufrufen.



  • Hallo Leute,

    ich habe aus dem Inet eine DLL+Source heruntergeladen und möchte Sie von meinem Projekt aus verwenden. Beides sind MS Visual C++ Projekte. Beim Kompilieren meines Testprojektes bekomme ich diese Fehlermeldung:

    Linker-Vorgang läuft...
    Bibliothek Debug/MYDLL.lib und Objekt Debug/MYDLL.exp wird erstellt
    MYDLL.obj : error LNK2001: Nichtaufgeloestes externes Symbol "__declspec(dllimport) int __cdecl readTXT(char *)" (__imp_?readTXT@@YAHPAD@Z)
    Debug/MYDLL.dll : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    MP35.dll - 2 Fehler, 0 Warnung(en)

    Weiß jemand wie ich den Fehler umgehen kann? Anscheinend findet er diese Funktion nicht:
    __declspec(dllimport) int __cdecl readTXT(char *)" (__imp_?readTXT@@YAHPAD@Z)

    Obwohl alles erreichbar ist. Lösche ich die dll oder lib oder den Header des Inet Projektes gibt es gleich ne andere Fehlermeldung. Es ist also alles vom VS aus erreichbar. Im Inet Projekt steht unter Einstellungen cdecl*. An der Aufrufsfunktion kann es also auch nicht liegen.

    Die Signatur der Funktion in der Inet dll im Header:
    #ifdef DEFGRT_EXPORTS
    #define DEFGRT_API __declspec(dllexport)
    #else
    #define DEFGRT_API __declspec(dllimport)
    #endif

    DEFGRT_API int readTXT(char*);

    Ich hab keine Ahnung wo ich noch herumschrauben muss. Könntet Ihr mir helfen?

    Viele Grüße

    Frederik



  • Versuch mal die Funktion als "extern" zu defninieren.

    Peter



  • Vielen Dank, das wars.


Anmelden zum Antworten