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 :

[Problème link] Xerces-C


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut [Problème link] Xerces-C
    Salut tout le monde,

    Voilà, j'ai un petit souci. Je débute en C++ et Xerces.

    J'essaie de compiler le programme suivant avec Visual Studio 2005 (Pro):

    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
     
    #include <iostream>
    #include <fstream>
    #include <xercesc/parsers/XercesDOMParser.hpp>
    #include <xercesc/dom/DOM.hpp>
    #include <xercesc/sax/HandlerBase.hpp>
    #include <xercesc/util/XMLString.hpp>
    #include <xercesc/util/PlatformUtils.hpp>
     
    #if defined(XERCES_NEW_IOSTREAMS)
    #include <iostream>
    #else
    #include <iostream.h>
    #endif
     
    using namespace std;
    XERCES_CPP_NAMESPACE_USE
     
    int main(int argc, char *argv[])
    {
    	try {
            XMLPlatformUtils::Initialize();
    		cout << "Initialization successful!!\n";
        }
        catch (const XMLException& toCatch) {
            char* message = XMLString::transcode(toCatch.getMessage());
            cout << "Error during initialization! :\n"
                 << message << "\n";
            XMLString::release(&message);
            return 1;
        }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    Cependant j'obtiens 6 erreurs "de liens" si je ne me trompe. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error	1	error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl xercesc_2_8::XMLString::release(char * *)" (__imp_?release@XMLString@xercesc_2_8@@SAXPAPAD@Z) referenced in function __catch$_main$0	test.obj
    J'ai pourtant bien ajouter les directories "lib" et "include" de Xerces dans les options du projet - VC++ Directories (Library files & Include files).

    Comme vous l'aurez sûrement remarqué, le programme jusqu'ici est tres simple car il initialise simplement la platforme XML de Xerces... et en fonction du résultat il output si c'est successful ou pas...

    J'ai oublié quelque chose??

    Pourriez-vous me guider?

    Merci!!

    olo

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut solution
    J'ai ajouté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment(lib, "xerces-c_2.lib")
    ça fonctionne pour ce que je voulais faire. mais bizarrement, quand j'essaie d'aller plus loin et de parser un document XML avec Xerces DOM... j'ai d'autres erreurs et pas moyen de le résoudre...

    J'aime vraiment pas C++ ... avec Java, j'ai tout fait "parsing, xml modifs + validation sur un XSD" en meme pas 3h

    Ici je patauge depuis 3 jours juste pour essayer de comprendre comment compiler, utiliser des "third-party" librairies etc...

    Y a-t-il quelqu'un qui aurait le temps de faire un tuto du genre:

    - installer Visual Studio 2005
    - installer Xerces et la linker à VS 2005
    - montrer un ptit exemple qui parse un fichier xml et l'output dans la console...

    Anyone? je suis désespéré...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Il manque peut-être un détail : est ce que tu utilises la librairie xerces static ou standard? Quel est le nom du .lib avec lequel tu linkes?
    Si c'est xerces-c_static_2.lib, il faut que tu ajoutes XML_LIBRARY aux directives de précompilation et que ton projet utilise la MFC en static (si il l'utilise).

    Ceci dit, j'ai un problème similaire : j'ai aussi des "unresolved external" mais uniquement avec les XMLString ...

Discussions similaires

  1. Problème link libjpeg
    Par DeepSiderZ dans le forum C++
    Réponses: 3
    Dernier message: 19/09/2014, 15h04
  2. Probléme TOMCAT / xerces
    Par romano62880 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/11/2010, 11h56
  3. [SWIG]Problème linking libraries .so multiples
    Par Moskito dans le forum Interfaçage autre langage
    Réponses: 2
    Dernier message: 25/10/2010, 11h29
  4. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 15h50
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 11h18

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