Accueil > Forum > > > > [CURL][C++] Compilation lib & utilisation
[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
|
|
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
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|