Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C+Internet]Problem mit libcurl (https://www.delphipraxis.net/73822-%5Bc-internet%5Dproblem-mit-libcurl.html)

new32 24. Jul 2006 14:26


[C+Internet]Problem mit libcurl
 
Hi!
Nach der Suche nach einem API für Internetzugriffe, bin ich auf libcurl, deren Beschreibung sehr vielversprechend klang, gestoßen.
Also habe ich mir das Tutorial angeguckt, wo ich allerdings schon recht früh auf Probleme stieß:
"curl-config" is, soweit ich sie richtig identiffzieren konnet ein Unix-Shell-Script, das ich unter Windows nicht auszuführen wusste.

Also habe ich die h-datei "curl.h" mit "#include <curl/curl.h>" eingefügt.
Aber bei der lib-datei ging es weiter. es heißt man soll für den Borland-Compiler die Datei libcurl.lib nehmen.
Aber sie ist micht zu finden.
Nach einem Versuch das ganze ding zu kompiliren mit Makefile.b32, deren Endung ich vorher entfernt hatte(aus Archeiv:curl-7.15.4.zip), blieb der Vorgang bei ftp.c stehen:
Zitat:

Error E2450 sockaddr.h 30: Undefined structure 'sockaddr_storage'
Error E2453 sockaddr.h 31: Size of the type 'Curl_sockaddr_storage' is unknown o
r zero
Error E2451 ftp.c 214: Undefined symbol 'socklen_t' in function AllowServerConne
ct
Error E2379 ftp.c 214: Statement missing ; in function AllowServerConnect
Error E2140 ftp.c 215: Declaration is not allowed here in function AllowServerCo
nnect
Error E2451 ftp.c 217: Undefined symbol 'size' in function AllowServerConnect
Error E2451 ftp.c 1061: Undefined symbol 'socklen_t' in function ftp_state_use_p
ort
Error E2379 ftp.c 1061: Statement missing ; in function ftp_state_use_port
Error E2451 ftp.c 1063: Undefined symbol 'sslen' in function ftp_state_use_port
Error E2379 ftp.c 1076: Statement missing ; in function ftp_state_use_port
Error E2451 ftp.c 1091: Undefined symbol 'size' in function ftp_state_use_port
Error E2379 ftp.c 1096: Statement missing ; in function ftp_state_use_port
Error E2451 ftp.c 1099: Undefined symbol 'socksize' in function ftp_state_use_po
rt
Warning W8019 ftp.c 3271: Code has no effect in function ftp_perform
Was hann ich machen?

MfG new32

Der_Unwissende 24. Jul 2006 14:57

Re: [C+Internet]Problem mit libcurl
 
Hi,
also irgendwie weiß ich nicht genau was du vor hast. Ohne es böse zu meinen die Frage, wie weit ist es denn mit deinen Kenntnissen des BCC her?
Jedenfalls solltest du schon eine Header-Datei einbinden, die z.B. sockaddr_storage enthält. Da käme eher die config-win32.h oder andere in Frage. Hast du denn den Library Pfad mit gesetzt? Soetwas wie -L.../Lib ? Also natürlich mit einem korrekten Pfad. Das gleiche gilt dann für die Includes usw.
In der Binaries findest du dann noch bei Win32 eine fertig kompilierte .dll, vielleicht solltest du einfach gegen die linken. Da dort die Sourcen bei waren, kannst du natürlich auch statisch in eine .lib linken, ist auch nur eine Option der ilink32 (wenn ich mich nicht ganz irre). Denke auch mal, dass die eher meinen dass du die aus den Sourcen erzeugen kannst (statt einer dynamischen).

Gruß Der Unwissende

new32 24. Jul 2006 15:56

Re: [C+Internet]Problem mit libcurl
 
Zitat:

die z.B. sockaddr_storage enthält
Soweit war ich auch schon aber wo is die enthalten?

Im PSDK nachgeschlagen und festgestellt, dass sie in der Datei "winsock2.h" definiert wird(WinXP+03)...
...in der vom bcc steht nichts davon!

Nachdem ich die Struktur direkt in "sockaddr.h" geschrieben habe lief es (natürlich).

@Der_Unwissende: Trotzdem danke!
//edit: nach nen paar weiteren Änderungen lief es dann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz