IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Utilisation de la librairie curl


Sujet :

C++

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut Utilisation de la librairie curl
    Bonjour,

    Je suis confronté à une erreur de noob lorsque j'essaye d'utiliser la librairie curl pour mon projet C++.
    J'ai cette erreur: Erreur LNK2001 symbole externe non résolu __imp_curl_global_init

    Voilà la portion de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    #include <curl/curl.h>
    #include <curl/curlver.h>
    #include <curl/easy.h>
    #include <curl/mprintf.h>
    #include <curl/multi.h>
    #include <curl/stdcheaders.h>
     
     
    int main(int argc, const char** argv)
    {
    	CURL *curl = nullptr;
    	curl_global_init(CURL_GLOBAL_ALL);
     
    }
    ça fait déjà 2 jours que je cherche sans avoir trouvé de solution à mon problème.
    Si quelqu'un à une idée, merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    C'est une erreur de linker, il faut link la lib curl dans les propriétés du projet.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    C'est ce que j'avais testé, et c'est aussi ce que je pensais, mais le problème étant que lorsque je veux linker mes lib qui ressemble à ça:

    Nom : screen lib curl.png
Affichages : 1054
Taille : 4,1 Ko

    J'ai bien fait: Propriété de mon projet > Editeur de liens > Dépendances supplémentaires et que je link le dossier contenant mes libs, j'ai une erreur: impossible d'ouvrir le fichier en entrée '..\..\..\lib.obj' .
    Et si je fais ça : '..\..\..\lib' '..\..\..\lib\libcurl.dll.a' il compile avec une erreur à l'execution comme quoi il ne trouve pas ma dll ..

    C'est certainement une question noob, mais je ne suis pas totalement encore familier avec VS et C++ sur certains points encore.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    dans les dépendances supplémentaires, ça n'est pas un répertoire qu'il faut mettre. C'est directement le fichier lib.
    Une chose m'interroge ici. Les noms des fichiers semblent correspondre à des bibliothèques Posix et ici on serait sous Windows!!!

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    Oui, je suis sous windows.
    Je vais essayé avec un .lib que j'ai généré et je vous redis ça

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Vs utilise des .lib. Les .a sont pour d'autres toolchains.
    Et je vois pas pourquoi tu aurais un erreur de fichier .obj non trouvé... d'où ça sort ça ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    J'ai essayé de linker la librairie curl auparavant build, mais j'ai toujours la même erreur :
    symbole externe non résolu __imp_curl_global_init

    J'ai essayé de linker ma lib : 'libcurl_a_debug.lib' , de mon répertoire : 'builds\libcurl-vc15-x86-debug-static-ipv6-sspi-winssl' qui a été généré lors de la compilation de curl téléchargé ici: https://curl.haxx.se/download.html

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    Je me demande.
    Ce n'est pas parce que je compile en release alors que la lib doit être compilé en debug ?
    Je ne pense pas, mais on sait jamais...

  9. #9
    Membre très actif
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Par défaut
    Je donne un retour comme quoi j'ai réussi hier à résoudre moi même mon soucis.

    La Solution :
    J'ai pour cela régénéré toute ma librairie curl pour windows, linker ma .lib (pour Visual Studio 2015 et 2017: clique droit sur la solution du projet > Propriété > Éditeur de lien > Général > Répertoires de bibliothèques supplémentaires : ICI VOUS 'LINKEZ' le répertoire de votre .lib, ensuite dans le même chemin, cette fois ci, dans entrée plutôt que Général, dans 'Dépendances supplémentaires : vous ajoutez le nom de votre librairie (pour moi libcurl.lib)), une fois cela fait, ajouter ma .dll (qui doit contenir toutes mes constantes et préprocesseurs) généré, dans le répertoire environnement de compilation, dans mon cas Release.

    Je passe en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de la librairie JEDI ...
    Par HaldriX dans le forum Composants VCL
    Réponses: 7
    Dernier message: 04/03/2006, 09h38
  2. Utilisation de la librairie LTI
    Par gids01 dans le forum MFC
    Réponses: 1
    Dernier message: 14/12/2005, 14h34
  3. Réponses: 4
    Dernier message: 13/10/2005, 12h41
  4. [Débutant] utilisation de la librairie windows
    Par tavman dans le forum Windows
    Réponses: 12
    Dernier message: 27/08/2005, 16h21
  5. Utilisation de la librairie ng sous FreeBSD
    Par Mercenary Developer dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 07/12/2004, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo