Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2808 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Problème de compilation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de compilation

n°706163
luminou
Posté le 22-04-2004 à 16:46:30  profilanswer
 

Bonjour,  
 
Je souhaite développer un parser avec xerces sous la technologie DOM, le tout programmer en C++ sous Dev-Cpp. J'ai suivi le tutorial de xerces, seulement impossible de compiler, il me génère une erreur dès l'initialisation. Voici une partie du code, il bug donc sur XMLPlatformUtil::Initialize().
 
D'après vous est-ce que ça peut venir d'une mauvaise configuration de ma part sous dev-cpp (au niveau de mon projet) ? Toutes les suggestions sont les bonnes. Par avance merci.
 
#include <iostream>
#include <stdlib.h>
#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>
 
//using namespace std;
 
int main(int argc, char *argv[])
{
    FILE * fileOUT;
    DOMParser* parser;
 
     
  if (argc != 3) {
      printf("\nUtilisation XML2TXT <fichier XML> <fichier TXT>\n" );
      exit(0);
      }
  else {  
      if ((fileOUT = fopen(argv[2], "w+" )) != NULL)    
            printf("\n Début du parsing" );
                           
      else {
            printf("\n Problème d'ouverture du fichier destinataire" );
            exit(0);
            }
      }
       
  try{
        XMLPlatformUtils->Initialize();
    }
  catch (const XMLException& toCatch) {
    char* message = XMLString::transcode(toCatch.getMessage());
    cout << "Error during initialization! : \n"
         << message <<"\n" ;
    XMLString::release(&message);
    return 1;
    }

mood
Publicité
Posté le 22-04-2004 à 16:46:30  profilanswer
 

n°706169
skeye
Posté le 22-04-2004 à 16:49:59  profilanswer
 

C'est quoi l'erreur à la compile?

n°706176
luminou
Posté le 22-04-2004 à 16:52:10  profilanswer
 

La voilà : E:\Programmation\Dev-Cpp\Projet\main.cpp
`XMLPlatformUtils' undeclared (first use this function)
parse error before `::' token
 
Je me susi trompé en recopiant, ce n'est pas XMLPlatformUtils->Initialize(); mais XMLPlatformUtils::Initailize()
 

n°706387
torpe23
Posté le 22-04-2004 à 19:50:50  profilanswer
 

t'as peut-être oublier de linker Xercès... vérifie de ce côté!

n°706499
luminou
Posté le 22-04-2004 à 22:53:28  profilanswer
 

En fait, je crois aussi que c'est ça, mais je ne suis pas certain de la démarche à opérer pour linker avec une librairie sous dev-cpp.  
Dans le projet, j'ai déclaré le dossier qui contient les include, le dossier qui contient la lib, et la lib, mais je ne suis pas du tout certains que ce soit bien défini.
Alors si kelk1 maitrisait dev-cpp ca m'arrangerait beaucoup.
Merci

n°706725
Joel F
Real men use unique_ptr
Posté le 23-04-2004 à 09:35:25  profilanswer
 

dans le soptions du projet y a un onglets Additional Library dans lequel tu ajoute le chemin de ton lib.
Il n'a aucun besoin d'etre ajouter dans les ficheirs du projets.
 
Bref va relire le manuel de gcc ca t'aidera ...

n°706743
luminou
Posté le 23-04-2004 à 09:47:16  profilanswer
 

Oui ca je l'ai fais et j'ai bien rajouté l'option -lxerces... mais toujours rien !!!!! il ne me reconnait pas le prototype de la fonction ! je lache l'affaire, si kelk1 a réussi à faire fonctionner xerces sous dec-cpp je suis preneur, sinon je passe à tinyxml.

n°706795
Joel F
Real men use unique_ptr
Posté le 23-04-2004 à 10:32:17  profilanswer
 

pas -lxerces mais un truc du styel :
 
-L/mon/path/juska/xecres/lib

n°706941
SoWhatIn22
Posté le 23-04-2004 à 12:01:23  profilanswer
 

si c'est une erreur de compilation, le link n'a rien à voir la dedans (ou alors le linker utilise ipot?)

n°937177
nolock
Posté le 04-01-2005 à 19:27:16  profilanswer
 

tout a fait d'accord avec SoWhatIn22
 
c'est pitet un pb d'espace de nom ...
 
essai de rajouter XERCES_CPP_NAMESPACE_USE par exemple après //using namespace std;
 
de plus XMLPlatformUtils n'est pas à déréférencer (mmmh ca fait beaucoup de 'é') et Initialize() est une fonction statique de cette dernière classe
 
remplace donc XMLPlatformUtils->Initialize();
par XMLPlatformUtils::Initialize();
 
[edit]ha ben dsl, vue la date de ce sujet, ma réponse sert pas à gd chose[/edit]


Message édité par nolock le 05-01-2005 à 16:59:10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Problème de compilation

 

Sujets relatifs
Problème de compilation ![C++] Compilateur C++ .NET 2003 / SDL > Problème à la compilation
Probleme de compilationPetit probleme (apres compilation)
problème de compilation(scite)Problème de compilation
[C][Newbie] Probleme à la compilationMinGW + SDL : problème de compilation
Kylix 3 Open C++ : Problème de compilation, voilà le logprobleme a la compilation pour afficher une fenetre avec SDL et opengl
Plus de sujets relatifs à : Problème de compilation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR