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

Dev-C++ Discussion :

Comment inclure une bibliothèque tierce avec dev c++ ?


Sujet :

Dev-C++

  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 Comment inclure une bibliothèque tierce avec dev c++ ?
    Bonjour,

    J'utilise le logiciel dev c++ pour coder et j'ai pèché un fichier UrlMon.h et je voudrais utiliser sa fonction URLDownloadToFile
    En gros ma question c'est comment faire ?

    Alors je sais bien sur qu'il faut mettre au debut #include <UrlMon.h>

    Le problème c'est que j'ai beau la mettre dans les endroits les plus rusés, il ne semble pas la trouver. J'ai dejà essayé de la mettre dans le dossier include du repertoire du logiciel et de la mettre a coté d'un fichier code source dans mon projet. J'ai même tenté une transmission telepatique mais dev c++ s'obstine à ignorer mes instructions.

    Que faire ?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Déjà, es-tu sûr que c'est bien une erreur de compilation et non une erreur d'édition de liens ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  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
    Je pencherai plutot pour une erreur de linkage effectivement.
    L'ennui c'est que je ne sais pas quoi mettre exactement dans l'editeur de lien pour cette bibliothèque

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    La doc dit urlmon.lib, donc sans doute liburlmon.a sous MinGW.
    Essaie en rajoutant l'option -lurlmon à l'éditeur de liens...

    PS: Ce n'est pas une bibliothèque tierce, mais une bibliothèque système. Normalement, MinGW devrait avoir la bibliothèque statique d'importation qui correspond (liburlmon.a).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  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
    J'ai essayé avec -lurlmon mais ça n'a pas marché
    Personnellement j'utilise dev c++ mais j'ai aussi telechargé MinGW sans y trouver aucun fichier en rapport avec urlmon

    Pour que ça soit clair je vais te dire tout ce que j'ai fait parce que je pense qu'il y a un endroit où je bug pour une connerie :
    J'ai créé un projet en C (Nouveau projet -> Console application) qui est enregistré dans la racine du repertour d'installation de dev c++. J'ai créé le programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <stdio.h>
    #include <stdlib.h>
    #include <urlmon.h>
     
    int main(int argc, char *argv[])
    {
      URLDownloadToFile(0, "http://www.google.com", "HTML.code", 0, 0 );
      system("PAUSE");	
      return 0;
    }
    J'ai mis le fichier urlmon.h dans le repertoir include lui même dans le dossier d'install de dev c++ et urlmon.lib dans le dossier lib.
    Je suis allé dans l'editeur de lien pour y mettre -lurlmon
    Je compile et ligne 3 j'ai une erreur "In file included from main.c"

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    1. Si tu ne trouves pas de bibliothèque statique pour urlmon, c'est encore une preuve que MinGW est incomplet. Mais tu peux peut-être chercher directement la DLL, il me semble que MinGW peut utiliser une DLL comme s'il s'agissait de sa bibliothèque statique d'importation...
    2. Le message de ton erreur est incomplet.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    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
    Le message d'erreur complet est
    3 C:\Dev-Cpp\main.c In file included from main.c

    Je vais essayé de voir pour le dll mais je ne sais pas plus comment inclure un dll.

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    À mon avis, ce n'est pas l'erreur complète.
    Poste le log de compilation au lieu de la fenêtre d'erreurs, s'il te plait.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    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
    Sorry, le voila.Pour que tu comprenne bien y a juste une petite modification dans ce que j'ai dit précédemment, j'ai du renommer main.c en main url.c. Voilà le log:
    Compilateur: Default compiler
    Building Makefile: "C:\Dev-Cpp\Makefile.win"
    Exécution de make...
    make.exe -f "C:\Dev-Cpp\Makefile.win" all
    gcc.exe -D__DEBUG__ -c "main url.c" -o "main url.o" -I"C:/Dev-Cpp/include" -g3

    In file included from main url.c:3:
    UrlMon.h:248:19: msxml.h: No such file or directory
    In file included from main url.c:3:
    UrlMon.h:352: error: syntax error before "uCLSSPEC"
    UrlMon.h:354: error: syntax error before '*' token

    UrlMon.h:6299: error: syntax error before "IXMLElement"

    UrlMon.h:6364: error: syntax error before "IXMLElement"

    make.exe: *** ["main url.o"] Error 1
    Exécution terminée

  10. #10
    Membre actif Avatar de lastrecrue
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    360
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 360
    Points : 278
    Points
    278
    Par défaut
    essai de metre le dll et le .h ds le repertoir ou il ya ton projet et de metre #include "tonfichier.h" au lieu des < *.h >

Discussions similaires

  1. [Compilation] Compiler et intégrer une bibliothèque tierce avec QtCreator
    Par VivienD dans le forum Outils
    Réponses: 5
    Dernier message: 18/05/2013, 18h39
  2. Réponses: 0
    Dernier message: 10/01/2012, 16h20
  3. Comment utiliser une bibliothèque avec Qt ?
    Par slimittn dans le forum Débuter
    Réponses: 1
    Dernier message: 14/01/2011, 21h03
  4. Réponses: 10
    Dernier message: 30/06/2004, 13h00
  5. Comment utiliser les styles XP avec Dev-C++?
    Par abraxas dans le forum Dev-C++
    Réponses: 3
    Dernier message: 05/10/2003, 19h47

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