[Linker Fehler] Error: Ungelöste externe ...



  • Sorry, dass ich schon wieder nerve, aber ich hab mal wieder 'ne Fehlermeldung, mit der ich nichts anzufangen weiß. 😡

    [Linker Fehler] Error: Ungelöste externe '__stdcall SendFile(void *)' referenziert von N:\EIGENE DATEIEN\C++\SONSTIGES\FILESTREAM\FILESTREAM_UNIT.OBJ

    (Das Projekt heißt FileStream)
    Der Fehler tritt nicht mehr auf, wenn ich folgenden Code auskommentiere:

    unsigned long WINAPI SendFile(void*);
    
    DWORD SendThreadID;
    HANDLE hSendThread;
    LPTHREAD_START_ROUTINE lpTSR = &SendFile;
    
    // Thread starten
    hSendThread = CreateThread(NULL,  // Security ist Quatsch
                                  0,  // Std-StackSize
                              lpTSR,  // Zeiger auf Func
                               NULL,  // keine Parameter
                                  0,  // keine Flags
                      &SendThreadID);
    

    Die Fehlermeldung scheint hier im Forum bekannt zu sein, aber obwohl ich 21 Treffer bei meiner Suche hatte, konnte ich den Fehler nicht lösen.



  • Diese Fehlermeldung kommt vom Linker und bedeutet, dass eine Definition nicht vorhanden ist. Zumindest wird sie nicht gefunden. Mögliche Gründe:

    Die Definition befindet sich in einer binären Library und Sie haben diese dem Linker nicht genannt.
    Die Definition befindet sich in einer Kompiliereinheit (z.B. cpp-Datei) und Sie haben diese dem Compiler nicht genannt.
    Die Definition wurde von Ihnen einfach nicht implementiert.



  • Cool 🕶 !
    Danke Bulli, ich hatte ganz einfach bei der Definition von SendFile() das void* in den Klammern vergessen. Der Compiler dachte wahrscheinlich, ich wollte die Funktion überladen. Coole Sache! 😃 👍 💡 😃



  • Eine weitere (zumindest bei mir öfter vorkommende) Möglichkeit ist auch, dass der Klassenspezifizierer bei der Definition vergessen wurde.


Anmelden zum Antworten