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

Bibliothèques Discussion :

Erreur avec la bibliothèque curl


Sujet :

Bibliothèques

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut Erreur avec la bibliothèque curl
    J'ai installer la librairie curl (version officielle) avec dev c++ grace à son module de telechargement des bibliothèque

    J'ai donc un programme du style :

    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
    #include <stdio.h>
    #include <string.h>
     
    #include <curl/curl.h>
    #include <curl/types.h>
    #include <curl/easy.h>
     
     
    int main()
    {
     
        curl = curl_easy_init();
       system("PAUSE");   
        return 0;
    }
    Mais lors de la compilation dev c++ ne retourne l'erreur :
    [Linker error] undefined reference to `_imp__curl_easy_init'

    Que ce passe-t-il ?

  2. #2
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut
    salut,

    comme c'est marqué, c'est une erreur de linkage [edition de liens].

    la fonction indiquée n'est trouvé nulle part, bien qu'elle soit utilisée. fait voir la ligne de commande que tu utilises pour compiler ton programme.

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut
    si j'ai bien compris c'est le contenu de curl/easy.h que tu veux. Il est ci dessous, mais cela m'etonne beaucoup parce que c'est quand même une version officiel fournie par dev c++.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    #ifndef __CURL_EASY_H
    #define __CURL_EASY_H
    /***************************************************************************
     *                                  _   _ ____  _
     *  Project                     ___| | | |  _ \| |
     *                             / __| | | | |_) | |
     *                            | (__| |_| |  _ <| |___
     *                             \___|\___/|_| \_\_____|
     *
     * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
     *
     * This software is licensed as described in the file COPYING, which
     * you should have received as part of this distribution. The terms
     * are also available at http://curl.haxx.se/docs/copyright.html.
     *
     * You may opt to use, copy, modify, merge, publish, distribute and/or sell
     * copies of the Software, and permit persons to whom the Software is
     * furnished to do so, under the terms of the COPYING file.
     *
     * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
     * KIND, either express or implied.
     *
     * $Id: easy.h,v 1.13 2004/11/09 14:02:58 giva Exp $
     ***************************************************************************/
    #ifdef  __cplusplus
    extern "C" {
    #endif
     
    CURL_EXTERN CURL *curl_easy_init(void);
    CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
    CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
    CURL_EXTERN void curl_easy_cleanup(CURL *curl);
     
    /*
     * NAME curl_easy_getinfo()
     *
     * DESCRIPTION
     *
     * Request internal information from the curl session with this function.  The
     * third argument MUST be a pointer to a long, a pointer to a char * or a
     * pointer to a double (as the documentation describes elsewhere).  The data
     * pointed to will be filled in accordingly and can be relied upon only if the
     * function returns CURLE_OK.  This function is intended to get used *AFTER* a
     * performed transfer, all results from this function are undefined until the
     * transfer is completed.
     */
    CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
     
     
    /*
     * NAME curl_easy_duphandle()
     *
     * DESCRIPTION
     *
     * Creates a new curl session handle with the same options set for the handle
     * passed in. Duplicating a handle could only be a matter of cloning data and
     * options, internal state info and things like persistant connections cannot
     * be transfered. It is useful in multithreaded applications when you can run
     * curl_easy_duphandle() for each new thread to avoid a series of identical
     * curl_easy_setopt() invokes in every thread.
     */
    CURL_EXTERN CURL* curl_easy_duphandle(CURL *curl);
     
    /*
     * NAME curl_easy_reset()
     *
     * DESCRIPTION
     *
     * Re-initializes a CURL handle to the default values. This puts back the
     * handle to the same state as it was in when it was just created.
     *
     * It does keep: live connections, the Session ID cache, the DNS cache and the
     * cookies.
     */
    CURL_EXTERN void curl_easy_reset(CURL *curl);
     
    #ifdef  __cplusplus
    }
    #endif
     
    #endif

  4. #4
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut
    en fait je n'ai pas été assez précis dans ma question peut etre

    est ce que tu utilise un IDE (une interface graphique pour coder) ou est ce que tu compile tout à la main ou alors est ce que tu utilise un makefile ?

    est ce que tu es sous windows ou linux ou autre ?

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 676
    Points : 121
    Points
    121
    Par défaut
    Oula attend, parce que là tu m'a larguer. J'y connais pas grand chose en fait j'ai juste besoin pour cette fois de faire un petit programme pas trop mechant qui telecharge des pages.

    Alors j'ai telechargé dev c++ parce que ça colore le code et qu'il suffit d'appuyer sur le bouton compliler&executer et puis ça fait tout tout seul c'est genial. Le seul truc un peu compliqué que j'ai fait c'est aller dans "Nouvelles versions/packages" pour telecharger libcurl, openssl et zlib et puis ça s'arrete là. Ce message est apparu dans le panneau d'erreur et depuis je sais plus quoi faire. A part ça je suis en projet (Console Application) et il est 22h 52 sur l'horloge de mon ordi

  6. #6
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut
    est ce que je t'ai largué quand je t'es demandé si tu était sous windows ou linux ? ...

    a mon avis faut que t'arrete d'utiliser devc++ et que tu revienne à la base sinon t'iras pas loin. par exemple, faut déjà comprendre la différence entre compilation et edition de liens.

    compile ton programme en ligne de commande dans un terminal (cygwin par exemple si t'es sous windows apparramment), en utilisant gcc, pour comprendre un peu ce que tu fait.

    utilise notepad++ pour la coloration syntaxique, sans avoir toutes les autres fonctionnalités qui abstraient ce que tu fais.

    bonne chance

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/04/2015, 23h16
  2. Erreur 404 avec file_get_contents ou curl
    Par momogc dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2009, 01h35
  3. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  4. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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