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

XML Discussion :

Comment créer un dll ( tinyxml ) ?


Sujet :

XML

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut Comment créer un dll ( tinyxml ) ?
    Bonjour à tous, je viens de resortir TinyXml du placard en ayant télécharger une version toute fraiche. J'ai lus quelques tutorials, histoire de me rapeller comment ca marche, mais je bloque sur la compilation de l'exemple minimal :/
    Des erreurs à l'éditions de liens ( symbol externe non résolu ) ... j'ai lu qu'il fallait compiler la librarie ( chose que je ne me rapelle pas avoir faites quand j'utilisait tinyxml avant mais bon ... ). Et la ca coince !

    J'utilise VC 2003 et j'ignore totalement quel fichier/projet je doit ouvrir, ni comment sortir un dll de tout ca, si jamais ca vous prale plus qu'à moi, n'hésitez pas à m'en faire part !

    Merci .

    Edit: hum je confond .lib et .dll ... il va vraiment faloir que j'aprofondisse la chose ! ( j'ai des fichier .lib dans /tinyxml/debug visiblement et /tinyxml/debug_stl qquchose comme ca)

  2. #2
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    j'ai travaillé avec open watcom et je sais qu'il propose des options pour les compiler

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Je ne connias pas "open watcom", j'ai du mal a voir le rapport avec mon probème. ( A moins que ce ne soit un module de VC ? Ou une technique générale ?)

    * bon noel *

    Edit : Je viens de m'y remettre, j'ai fait une rapide recherche histoire de voir que *en gros*, un .lib permet de linker les fonctions contenu dans la dll . [ ce qui me parait bizare vu que je n'ai aps de dll pour tinyxml ... ]

    Bref, j'ai compilé (enfin je crois) correcement les projets fourni pour VC et je me retrouve avec deux fichier: tinyxmld_stl.lib et tinyxmld.lib .

    "d" pour debug, il se apsse quoi en mode release ?
    Si je link "tinyxmld.lib" avec un exemple minimal, ca compile, ca marche mais j'ai des warnings :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'LIBCD' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library
    tinyxmld.lib(tinystr.obj) : warning LNK4204: 'c:\Documents and Settings\Moi\Bureau\Ey-Lord\Trash\vc70.pdb' n'a pas d'informations de débogage pour référencer le module*; édition de liens des objets comme s'il n'y avait aucune information de débogage
    tinyxmld.lib(tinyxml.obj) : warning LNK4204: 'c:\Documents and Settings\Moi\Bureau\Ey-Lord\Trash\vc70.pdb' n'a pas d'informations de débogage pour référencer le module*; édition de liens des objets comme s'il n'y avait aucune information de débogage
    tinyxmld.lib(tinyxmlerror.obj) : warning LNK4204: 'c:\Documents and Settings\Moi\Bureau\Ey-Lord\Trash\vc70.pdb' n'a pas d'informations de débogage pour référencer le module*; édition de liens des objets comme s'il n'y avait aucune information de débogage
    tinyxmld.lib(tinyxmlparser.obj) : warning LNK4204: 'c:\Documents and Settings\Moi\Bureau\Ey-Lord\Trash\vc70.pdb' n'a pas d'informations de débogage pour référencer le module*; édition de liens des objets comme s'il n'y avait aucune information de débogage
    Le premier je ne sais pas trop d'ou il viens ... les autres il semble que ce soit plus "normal" ... toujours est-il que ces messages n'aparaissent qu'une fois que je change mes option de linkage ( rajout de tinyxmld.lib ) et pas a chaque recompilation ... je peux les ignorer ?

    Par contre si je tente de compiler avec tinyxmld_stl.lib , ca ne passe pas, j'ai 77 fonctions deja définie autre-part ( a vue de nez, toute celle sur les std::string qui sont a priori réimplémenté dans la lib tinyxml ) ... ( j'ai bien define la constante #define TIXML_USE_STL ) .

    voici les 2 warning ( je n'ai pas inclu les 7X erreurs )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Ey-Lord warning LNK4098: conflit entre la bibliothèque par défaut 'LIBCD' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library
    Ey-Lord warning LNK4098: conflit entre la bibliothèque par défaut 'MSVCRTD' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library
    Si je vire ces 2 libs, j'ai d'autres erreurs donc je ne sais que faire!

    [ sur ce, je vais me renseigner sur la différence entre la version stl et l'autre ^^, car j'ai subitement un gros doute !
    Edit2: La version stl semble entre-autre supporter les opérateurs << et >> , donc pas de raison de s'en passer par rapport à la "non-stl"]

    Si vous avez des idées sur ces warning et/ou mon problème de compilation en mode stl, je suis preneur !

    Edit3: Le problème semble venir du fait que je suis en multithread dll dans mon projet et que je n'ai pas compilé tinyxml comme cela . j'ai tenté de reocmpilé tinyxml en MTDLL mais j'ai les même erreur que si je tente de l'utilisé plus ahut dans mon projet ...

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Fiou ca avance

    J'ai compris ( enfin, lu sur le web) qu'il fallait que lorsque je compile les .ilb, il fallait que les option de compilation soit les même que pour mon projet. J'ai donc compilé en multitrahde debug dll en mdoe debug et en multithread dll en mode relase . J'ai linké mon tinyxml_stl.lib en mode release et mon tinyxmld_stl.lib en mode debug et tout va bien !

    Bon il me reste juste à bien comprendre pourquoi exactement j'ai fait ca ... car c'est un peu flou

Discussions similaires

  1. Comment créer une DLL ?
    Par Chikh001 dans le forum C++
    Réponses: 5
    Dernier message: 01/10/2007, 13h11
  2. [Lazarus] Comment créer une DLL avec Lazarus
    Par rajawi00 dans le forum Lazarus
    Réponses: 1
    Dernier message: 19/07/2007, 13h49
  3. Comment créer une dll à parti d'un programme en C
    Par laetous dans le forum Windows
    Réponses: 5
    Dernier message: 02/09/2006, 11h05
  4. [VB6]comment créer une dll
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/04/2006, 14h32
  5. Comment créer une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    Réponses: 8
    Dernier message: 16/06/2005, 15h38

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