begin process at 2012 05 29 00:05:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

Réseau & Internet

 > 

[CURL][C++] Compilation lib & utilisation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[CURL][C++] Compilation lib & utilisation

mercredi 12 août 2009 à 18:38:37 | [CURL][C++] Compilation lib & utilisation

Tibabou

Bonjour,

Je viens ici après 3 heures de recherche. J'espère que vous pourrez m'aider.

J'ai téléchargé les sources de la librairie curl. J'ouvre le *.vcproj et compile directement.

Premier souci : VC++ génère seulement la lib static curllib.lib (comment obtenir la dll ?)

Vient ensuite l'utilisation de cette lib compilé (1560Ko quand même). J'écris le code simpliste suivant :

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

int main(int argc, char **argv)
{
CURL *session = curl_easy_init();

curl_easy_cleanup(session);
return 0;
}


Et j'ai des erreurs de link :

1>main.obj : error LNK2019: symbole externe non résolu __imp__curl_easy_cleanup référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu __imp__curl_easy_init référencé dans la fonction _main


J'essaie alors plusieurs choses :

1/ Ajout de la ligne #pragma comment (lib, "curllib.lib")
2/ Ajout de 'Extern "C"' autour de l'include de curl.h
3/ L'ajout de la lib dans les propriétés du projet
... Sans succès.

Merci d'avance pour votre aide.
OS : WinXP SP2
IDE/Compilo : Visual studio 2008


Tibabou

mercredi 12 août 2009 à 19:48:06 | Re : [CURL][C++] Compilation lib & utilisation

juju12

Déjà, es-tu sûr que c'est une dll qui doit être créée, et pas une librairie statique? Y-a-t'il des messages d'erreurs/warnings lors de la compilation?
Il faut effectivement toujours lier à la librairie pour l'utiliser, soit avec #pragma comment, soit dans les propriétés, et ceci pour une dll ou une lib simple.
As-tu placé la lib dans le répertoire du projet utilisateur, ou indiqué son chemin d'accès à VS? Sinon, il ne la trouvera pas si tu te contentes de mettre #pragma comment (lib, "curllib.lib").

mercredi 12 août 2009 à 21:14:58 | Re : [CURL][C++] Compilation lib & utilisation

Tibabou

Salut juju12.
Pas d'erreur à la compil de la lib. Mettons de coté la génération de la dll car pour le moment c'est la lib statique qui m'intéresse.

J'ai placé le curllib dans le dossier lib de vs. J'ai aussi mis le dossier curl (avec les différents headers) dans le dossier include de vs.

Si je change le nom de la lib dans mon pragma, une autre erreur s'affiche pour dire qu'il ne trouve pas le fichier. J'en déduis que vs trouve bien le curllib.lib.

A part les pb de links, vs n'affiche aucune erreur.

Merci pour ton aide.

Tibabou

jeudi 13 août 2009 à 10:26:25 | Re : [CURL][C++] Compilation lib & utilisation

Tibabou


Un admin peut-il déplacer ce topic dans la rubrique windows svp ? Désolé pour l'erreur.

Tibabou

jeudi 13 août 2009 à 10:43:34 | Re : [CURL][C++] Compilation lib & utilisation

juju12

Bon, j'ai téléchargé les sources pour voir.
Déjà, il y a un certain nombre de configurations de compilation (la combobox à côté du bouton 'Start debugging') disponibles dans le projet, notamment Dll Release et Lib Release. Les as-tu également?
La compilation est OK et me donne bien, dans le premier cas, la dll, qui est générée dans le dossier Dll-Release, puis projet test OK.
Par contre en mode Lib Release, il y a bien erreur de linkage par la suite... plutôt bizarre.

Cela dit, si tu te contentes de fonctionner avec la dll y aura pas de problème.


jeudi 13 août 2009 à 12:58:20 | Re : [CURL][C++] Compilation lib & utilisation

Tibabou

Merci d'avoir pris le temps de tester chez toi juju12.
VS me crée un dossier "Debug" ou "Release" selon le mode de compilation que je choisis. Dans les 2 cas, je ne trouve qu'un *.lib.

Si quelqu'un a le curllib.lib qui fonctionne, pourriez-vous me l'envoyer ?
Ainsi, je saurais si c'est ma compilation de curl qui plante ou bien si c'est le link dans mon programme.



Tibabou

jeudi 13 août 2009 à 16:05:01 | Re : [CURL][C++] Compilation lib & utilisation

juju12

J'ai plus d'options que ça moi... as-tu la même version de curl (7.19.6)?
j'ai ouvert le fichier vc6curl.dsw dans le répertoire parent (il contient à la fois les projets curl et libcurl), puis, après conversion au format VS2008, j'ai le choix pour la compilation entre :

Dll debug
Dll Release
LIB Debug
LIB Release
using libcurl Dll debug
using libcurl Dll Release
using libcurl LIB Debug
using libcurl LIB Release

jeudi 13 août 2009 à 21:11:07 | Re : [CURL][C++] Compilation lib & utilisation

Tibabou


J'avais la version 7.16, je viens de prendre la 7.19.6 et j'ai en effet plusieurs configs possibles.
En debug ou release, la lib n'arrive toujours pas à être linkée.

Avec ou sans la dépendance que j'ajoute, cela ne change rien. Je fais :

Projet -> Propriétés de monProjet
Propriétés de configuration -> Editeur de liens -> Entrées
Dépendances supplémentaires : libcurl.lib

Exactement le même problème dans visual c++ 6.
Je sais pas linker ou quoi ?

Tibabou

jeudi 13 août 2009 à 21:33:37 | Re : [CURL][C++] Compilation lib & utilisation

Tibabou


Bon, ça avance.

J'ai ajouté "-DCURL_STATICLIB" dans les directives du préprocesseur. J'obtiens les erreurs suivantes :

1>Édition des liens en cours...
1>LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'MSVCRT' et les autres bibliothèques ; utilisez /NODEFAULTLIB:library
1>libcurl.lib(curl_addrinfo.obj) : error LNK2019: symbole externe non résolu __imp__freeaddrinfo@4 référencé dans la fonction _Curl_getaddrinfo_ex
1>libcurl.lib(curl_addrinfo.obj) : error LNK2019: symbole externe non résolu __imp__getaddrinfo@16 référencé dans la fonction _Curl_getaddrinfo_ex
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_unbind_s référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_msgfree référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_next_entry référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ber_free référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_next_attribute référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_memfree référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_value_free_len référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_get_values_len référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_first_attribute référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_get_dn référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_first_entry référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_search_s référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_simple_bind_s référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_init référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_set_option référencé dans la fonction _Curl_ldap
1>libcurl.lib(ldap.obj) : error LNK2019: symbole externe non résolu __imp__ldap_err2string référencé dans la fonction _Curl_ldap
1>D:\Mes documents\Visual Studio 2008\Projects\curl\Debug\curl.exe : fatal error LNK1120: 18 externes non résolus


Quel est le pb avec ldap ?
Merci.

Tibabou

jeudi 13 août 2009 à 21:42:54 | Re : [CURL][C++] Compilation lib & utilisation

Tibabou

Quand y'en a plus y'en a encore...

J'ai corrigé les erreurs LDAP par l'ajout de la dll WLDAP32.LIB. Les erreurs pour lesquelles je ne trouve aucune info sont les suivantes :

1>Édition des liens en cours...
1>libcurl.lib(curl_addrinfo.obj) : error LNK2019: symbole externe non résolu __imp__freeaddrinfo@4 référencé dans la fonction _Curl_getaddrinfo_ex
1>libcurl.lib(curl_addrinfo.obj) : error LNK2019: symbole externe non résolu __imp__getaddrinfo@16 référencé dans la fonction _Curl_getaddrinfo_ex
1>D:\Mes documents\Visual Studio 2008\Projects\curl\Debug\curl.exe : fatal error LNK1120: 2 externes non résolus



Tibabou


1 2

Cette discussion est classée dans : main, color, easy, curl, lib


Répondre à ce message

Sujets en rapport avec ce message

creation de fichier par un .lib [ par kian5476 ] Bonjour,J'ai une application console qui fonctionne tres bien et qui genere un fichier.J'ai transforme le main de ce programme en fonction classique p GTKmm et minGW Developer Studio, comment ça marche? [ par Sunsawe ] Bonjour à tous,J'essai désespérément de faire fonctionner cet environnement sous windows.Seulement voilà je n'arrive pas à le configurer correctement. probleme link lib [ par unionx ] salut j'essai de creer ma library(.lib), le probleme c'est quand je veux utilise ma .lib sous vc 6 ou vc 2008 ça marche pas. vc 6 me donne ce proble probleme link library [ par unionx ] salut j'essai de creer ma library(.lib), le probleme c'est quand je veux utilise ma .lib sous vc 6 ou vc 2008 ça marche pas. vc 6 me donne ce proble Curl [ par manta7 ] Je débute avec cette librairie cul et j'ai le code suivant :#include #include #include char * ptrbuffer;size_t taille;size_t buffer(void *ptr, size_t exemple source client FTP avec ftplib [ par k1koo ] Je cherche une source ou un exemple de l'utilisation de la librairie ftplib sous linux #include #include #include "ftplib.h" //http://nbpfaus.n modifier un script pour qu'l passe en DLL [ par galamot ] Bonjour, j'ai ce script:qui marche tres bien mais je voudrais en faire une DLL. la ou j'ai mis: "http:l'adresse demandée"); et : ("./Le nom du fich Compilation avec cppLAPACK [ par sdrh ] Bonjour à tous et merci d'avance pour votre aide. J'essaye actuellement de faire compiler code::blocks avec la librairie ccplapack que j'ai télécharg [Aide]Foutu erreur de Link avec mySQL et VS2008 [ par Nixeus ] Bonjour à tous, Avant de commencer, je tiens à dire que j'ai cherché pas mal de temps sur forum et autres sites, ne trouvant pas de solution, je m'en Récupération de variable dans un fichier .cgi [ par testeur25 ] Bonjour, je suis développeur débutant et je souhaite réaliser une application client en C qui permette de récupérer les variables dynamiques d'un fic


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales