Unresolved external



  • [Linker Fehler] Unresolved external '__fastcall Idftp::TIdFTP::Connect(bool)' referenced from F:\CBUILDER6\PROJECTS\FTP\UNIT1.OBJ

    Diesen Fehler bekomme ich wenn ich mein kleines Testprogramm kompilieren will. Das Problem ist das der Pfad richig unter den Umgebungsoptionen eingestellt wurde.

    $(BCB)\komponenten\indy\C6

    Was kann das sein?!

    Cya



  • Bitte die Suchfunktion benutzen!



  • habs schon, hilft mir nicht! Alle Pfade stimmen und ich habe keine eigenen klassen definiert, nur ganz billiger Quellcode! Auch die obj Datei mal dem Projekt hinzugeügt, nix!

    Cya



  • Die Funktion erwartet als zweiten Parameter den Timeoutwert.

    Dieser ist in den Pascal Sourcen zwar mit einem Defaultwert versehen, im C-Header fehlt der aber.



  • ?? Das verstehe ich jetzt nicht ganz, kannst du mal ein Beispiel posten? Also 2 Parameter erwartet die Funktion bestimmt nicht, dann sagt er nämlich "zuviele Parameter".

    Cya



  • keiner?

    Cya



  • Welche Indy Version hast du denn?

    In der Version, die ich mir vor kurzem geholt habe, werden zwei Parameter erwartet.

    Sieh doch einfach in den (Pascal) Sourcen deiner Version nach und vergleiche das mit IdFTP.hpp.

    Vielleicht hast du nicht zur Lib passende Header.



  • Mark1982 schrieb:

    Das Problem ist das der Pfad richig unter den Umgebungsoptionen eingestellt wurde.

    Du musst ggf. den Pfad zu den Indy-Quellen auch mit in den Include-Pfad in den Projektoptionen aufnehmen.



  • hallo,

    Ein Compiler rattert über die eingebundenen Header-Dateien drüber her und merkt sich Deklarationen. Er prüft aber nicht, ob die Implementierung der Deklarationen im Porjekt verfügbar sind. Das macht nämlich der Linker. Wenn der Linker auf eine Header-Datei stöst, und die Implementierung (cpp, dll oder lib) nicht im Porjekt finden kann, schmeist der ein "Unresolved external".

    Du hast also eine Header eingebunden ohne die Implementierung einzubindne. Finde die entsprechende Lib und füge diese dem Projekt hinzu.


Anmelden zum Antworten