Mit C ein Txt-Dokument auf einen FTP-Server uploaden
-
Hey.
Sorry war eben beim Training.
Also wenn ich deinen Code 1 zu 1 kopiere,
wird mir das hier:Compiler: Default compiler Building Makefile: "C:\Users\Robin\Pictures\Desktop\Medien\C . C++\Makefile.win" Führt make... aus make.exe -f "C:\Users\Robin\Pictures\Desktop\Medien\C . C++\Makefile.win" all gcc.exe -c Upload3.c -o Upload3.o -I"C:/Dev-Cpp/include" gcc.exe Upload3.o -o "Upload3.exe" -L"C:/Dev-Cpp/lib" Upload3.o(.text+0x5f):Upload3.c: undefined reference to `FtpConnect' Upload3.o(.text+0x7a):Upload3.c: undefined reference to `FtpLogin' Upload3.o(.text+0x9d):Upload3.c: undefined reference to `FtpPut' Upload3.o(.text+0xaa):Upload3.c: undefined reference to `FtpQuit' collect2: ld returned 1 exit status make.exe: *** [Upload3.exe] Error 1
Als Kompilier-Log angezeigt.
Frag mich nicht wiesoIch benutze Dev-C++ aber auf C gestellt.
Grüße.
Hans Jügen
-
dein complierer findet die lib nicht. musste ihm den pfad eintragen.
-
Hallo
Moment mal, wenn das doch aus der Lib ist, haben die Funktionsdeklarationen nichts zu suchen.
Wenn du alles richtig eingebunden hast, müsste er so kompilieren:#include <stdio.h> #include <stdlib.h> #include <ftplib.h> int main(void) { char *host={"ftp.r0biin93.r0.funpic.de"}; char *user={"*****"}; char *password={"*****"}; char *inputfile={"C:/Users/Robin/Pictures/Desktop/Medien/g5ed2sd2d.txt"}; char *path={"g5ed2sd2d.txt"}; netbuf **nControl; char mode=FTPLIB_ASCII; FtpConnect(host, nControl); FtpLogin(user, password, *nControl); FtpPut(inputfile, path, mode, *nControl); FtpQuit(*nControl); return 0; }
way
-
Wenn ich es so kopiere wie du es hier geschrieben hast,
spuckt er mir den selben Fehler aus.Es kann sein das ich die Lib nicht richtig reingebunden habe,
da ich sie selbst erst runergeladen habe.Was muss ich den beachten?
Habe die Ftplib.h in den ordner include gepackt
und fertig.
-
Hallo
Dann findet er wohl wirklich nicht die lib. Was hast du denn für Files in dem lib-Paket? Sind normalerweise Header, DLL's und eine .lib-Datei dabei. Die müsstest du dann auch dementsprechend i die Ordner packen. Und dann schau mal ob du auch alles, was du in die Ordner gepackt hast, in dein Programm inkludiert.
Ist schon ne Ewigkeit her das ich was mit Dev-C++ gemacht habe, eventuell ist es also so, dass du wie in Visual Studio die lib extra linken musst. Glaube es zwar nicht aber einen Versuch wäre es allemale Wert.
way
-
Was für einen Datei Typ muss die Lib den haben?
Den ich habe gegoogelt und da stand das die Lib
für DEv-C++ eine *.o Endung haben muss und nicht *.lib.eine Ftplib.o - Datei ist in meinem Ordner aber nicht vorhanden,
also dem Ordner den ich runter geladen habe.Grüße.
-
Hallo
Könnte ich den Link mal sehen?
way
-
-
Hallo
Wenn ich das Standard-Paket runterlade habe ich aber die DLL mit dabei. Die ist wichtig.
way
-
Richtig.
Nur wohin damit?
Bzw. die habe ich ja auch
aber brauche ich keine Ftplib.o/.a ??Grüße.
-
Hallo
Weiss ich nicht. Denke und hoffe mal nicht. Für die DLL sollte es einen DLL-Ordner geben (wer hätte das gedacht).
way
-
→ Es gibt aber tragscher weise keinen dll-ordner :)←
-
Guten Abend/Nacht,
Ich denke das mir einfach nur noch die richtige
Libary fehlt. Den ich brauche ja eine .a/.o Libary
um sie in Dev-C++ benutzen zu können.
Solcheine finde ich aber nach geschlagenen 33 Minuten
googeln einfach nicht.Hat vielleicht jemand von euch soetwas?
Grüße,
Hans Jürgen!printf("Werde jetzt schlafen bis morgen!");
-
Liegt vermutlich daran, dass die vorkompilierten Dateien nur für MS VC++ sind. Also musst du dir die Lib selbst kompilieren. Quelltexte hast du ja.
-
Wie kompiliere ich die den selbst?
Grüße.
-
Hallo
Bastel es dir doch eben selber mit Sockets.
http://www.codeproject.com/KB/IP/index.aspx?#Internet%20&%20Network%20-%20FTPway
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Von Sockets habe ich keine Ahung.
Kann mir jemand erklären wie ich die Libary
selbst kompiliere? Bitte möglichst ausführlich
und für dummer.Grüße.
-
Hallo erst mal,
also zuerst ein neues Projekt erstellen,
Projekt muss ein DLL-Projekt sein und für C
dann fügst du die dateien "ftplib.c" und "ftplib.h" in das Projekt ein.Bei
Projekt -> Projekt Options -> Parameter -> Linker
die datei "libwsock32.a" einfügen.Projekt kompilieren
jetzt hast du die DLL, die object-datei mit der endung *.a
--------------------------------------jetzt neues Project Konsolenanwendung und für C
deine c-datei hinzufügenBei
Projekt -> Projekt Options -> Parameter -> Linker
die zuvor kompilierte objekt-datei einfügen.kompilieren
die Dll-datei in den gleichen ordner wie deine exe kopieren
viel spass
-
also zuerst ein neues Projekt erstellen, Projekt muss ein DLL-Projekt sein und für C dann fügst du die dateien "ftplib.c" und "ftplib.h" in das Projekt ein. Bei Projekt -> Projekt Options -> Parameter -> Linker die datei "libwsock32.a" einfügen.
→→ Ab hier gehts nicht weiter,
den wenn ich auf Projekt-Optionen klicke
bekomme ich immer ein Fehlerfenster in Dev-C++
das folgendes sagt:Acess violation at adress 0012F647. Write of adress 0012F647.
Was heißt das & was muss ich da machen?
Grüße.