NewbieContest

Programmation => Langages compilés => Discussion démarrée par: à_coeur le 12 Juin 2009 à 20:50:37



Titre: [C] Comment se connecter
Posté par: à_coeur le 12 Juin 2009 à 20:50:37
Bonjour !

surement que je vais me faire insulter ou attaquer, mais tant pis...
question qui reb=vient souvent, mais je n'y arrive vraiment pas : est-ce que pour résoudre les epreuves de prog - je veux absolument les faire en C - il faut que j'utilise :

les sockets ???
ou la librairie curl ?

je suis sous windows, et si il s'agit de curl pour resoudre les epreuves, pourriez vous m'aider à l'installer, et me donner un lien valable pour l'installer ??? Merci pour tout !


Titre: Re : Comment se connecter en C
Posté par: simpsonmaniac le 12 Juin 2009 à 21:42:25
les sockets ???
ou la librairie curl ?

Je serais tenté de te dire libcurl, parce que c'est ce que j'ai trouvé de plus "abordable" en C (je ne comprends toujours rien aux sockets en C =D).

Citation
et si il s'agit de curl pour resoudre les epreuves, pourriez vous m'aider à l'installer, et me donner un lien valable pour l'installer

Bon je vais sur google, je tape "curl" ou "libcurl" et le premier lien que je vois en dessous du site, [download] me donne des liens pour installer la lib sur tous les OS donc ça montre que tu n'as pas dû beaucoup chercher avant de poser ta question : http://curl.haxx.se/download.html (http://curl.haxx.se/download.html)
Tu vas à la ligne Win32, tu cliques sur le dernier lien et tu as un package complet tout prêt.
Ensuite il y a une doc mais attention tout est en anglais : http://curl.haxx.se/libcurl/c/


Titre: Re : Comment se connecter en C
Posté par: à_coeur le 13 Juin 2009 à 10:04:38
merci !

J'avais pourtant cherché, mais je tombait sur curl pour php...

merci bcp !


Titre: Re : Comment se connecter en C
Posté par: Orthops le 26 Juillet 2009 à 20:54:20
Bonjour,

Je me permets de faire remonter ce sujet parce que je rencontre quelques problèmes avec libcURL...
Je voudrais compiler mon code sous Visual C++ Express 2008.

J'ai donc récupéré sur le site de la librairie la dernière version du code source, j'ai compilé pour obtenir un fichier .lib, toutes les autres archives ayant des librairies en .a.
Là, premier mystère, je n'arrive pas à obtenir de dll à la compilation. Mais bon, j'ai bien le .lib qu'il me manquait et dans une autre archive (version compilée pour Windows) j'ai récupéré la dll.

Après, j'ai souhaité tester un bout de code, j'ai récupéré le premier exemple sur le site de libcurl. Le code est le suivant :

Code:
#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
CURL *curl;
CURLcode res;

curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, "www.google.com");
res = curl_easy_perform(curl);

/* always cleanup */
curl_easy_cleanup(curl);
}
return 0;
}

Avant de compiler j'ai bien pris soin de rajouter dans les dossiers de VC++ le dossier contenant les include de cURL que j'avais récupéré, le dossier où j'ai mis la librairie que j'ai compilé.
J'ai aussi rajouté dans le projet la dépendance vis-à-vis de libcurl.lib.
Je lance la compilation, et là :

Code:
1>------ Build started: Project: Gestion URL, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>Linking...
1>main.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__curl_easy_init referenced in function _main
1>C:\Documents and Settings\... : fatal error LNK1120: 4 unresolved externals
1>Build log was saved at "file://c:\Documents and Settings\...\Debug\BuildLog.htm"
1>Gestion URL - 5 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

En cherchant sur google j'ai vu que je n'étais pas le seul avec ce problème mais je n'ai pas réussi à trouver de solutions...
J'ai voulu rajouter une ligne #pragma comment (lib, "libcurl.lib") pour forcer à lier avec la librairie (suggéré sur google !) ça n'a rien changé.

Est-ce que quelqu'un qui utiliserait libcurl aurait déjà rencontré ce problème et pourrait m'éclairer ?
Merci beaucoup !