Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/08/2007, à 15:23

jalelouss

Erreur de compilation de Xerces-c-2.7

Salut tout le monde , j'ai un autre probleme avec xercesc.
lors de la compilation de mon programme :

DOMNodeList *p ;


  try {
         //XMLPlatformUtils::Initialize();
    }
     catch (const XMLException& toCatch) {
               char* message = XMLString::transcode(toCatch.getMessage());
               cout << "Error during initialization! :\n"
                     << message << "\n";
               delete [] message;
               return 1;
          } catch (const XMLException& toCatch) {
               char* message = XMLString::transcode(toCatch.getMessage());
               cout << "Error during initialization! :\n"
                     << message << "\n";
               delete [] message;
               return 1;
          }


}

le compilateur (j'utilise eclipse )me génère les erreurs suivantes :


**** Build of configuration Debug for project Stage ****

make -k all 
Building file: ../Convert.cpp
Invoking: GCC C++ Compiler
g++ -I/home/jalel/Desktop/xerces-c-src_2_7_0/src -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"Convert.d" -MT"Convert.d" -o"Convert.o" "../Convert.cpp"
In file included from /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/iostream.h:31,
                 from ../Convert.cpp:3:
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
../Convert.cpp: In function ‘int main(int, char**)’:
../Convert.cpp:74: warning: exception of type ‘xercesc_2_7::XMLException’ will be caught
../Convert.cpp:68: warning:    by earlier handler for ‘xercesc_2_7::XMLException’
../Convert.cpp:49: warning: unused variable ‘test’
../Convert.cpp:62: warning: unused variable ‘p’
Finished building: ../Convert.cpp
 
Building file: ../tinystr.cpp
Invoking: GCC C++ Compiler
g++ -I/home/jalel/Desktop/xerces-c-src_2_7_0/src -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"tinystr.d" -MT"tinystr.d" -o"tinystr.o" "../tinystr.cpp"
Finished building: ../tinystr.cpp
 
Building file: ../tinyxml.cpp
Invoking: GCC C++ Compiler
g++ -I/home/jalel/Desktop/xerces-c-src_2_7_0/src -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"tinyxml.d" -MT"tinyxml.d" -o"tinyxml.o" "../tinyxml.cpp"
Finished building: ../tinyxml.cpp
 
Building file: ../tinyxmlerror.cpp
Invoking: GCC C++ Compiler
g++ -I/home/jalel/Desktop/xerces-c-src_2_7_0/src -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"tinyxmlerror.d" -MT"tinyxmlerror.d" -o"tinyxmlerror.o" "../tinyxmlerror.cpp"
Finished building: ../tinyxmlerror.cpp
 
Building file: ../tinyxmlparser.cpp
Invoking: GCC C++ Compiler
g++ -I/home/jalel/Desktop/xerces-c-src_2_7_0/src -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"tinyxmlparser.d" -MT"tinyxmlparser.d" -o"tinyxmlparser.o" "../tinyxmlparser.cpp"
Finished building: ../tinyxmlparser.cpp
 
Building target: Stage
Invoking: GCC C++ Linker
g++  -o"Stage"  ./Convert.o ./tinystr.o ./tinyxml.o ./tinyxmlerror.o ./tinyxmlparser.o   
./Convert.o: In function `~XMLAttDefList':
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/framework/XMLAttDefList.hpp:171: référence indéfinie vers « xercesc_2_7::XMemory::operator delete(void*)»
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/framework/XMLAttDefList.hpp:171: référence indéfinie vers « xercesc_2_7::XMemory::operator delete(void*)»
./Convert.o: In function `~DTDEntityDecl':
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/validators/DTD/DTDEntityDecl.hpp:162: référence indéfinie vers « xercesc_2_7::XMLEntityDecl::~XMLEntityDecl()»
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/validators/DTD/DTDEntityDecl.hpp:162: référence indéfinie vers « xercesc_2_7::XMemory::operator delete(void*)»
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/validators/DTD/DTDEntityDecl.hpp:162: référence indéfinie vers « xercesc_2_7::XMLEntityDecl::~XMLEntityDecl()»
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/validators/DTD/DTDEntityDecl.hpp:162: référence indéfinie vers « xercesc_2_7::XMemory::operator delete(void*)»
./Convert.o: In function `xercesc_2_7::HandlerBase::fatalError(xercesc_2_7::SAXParseException const&)':
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/sax/HandlerBase.hpp:398: référence indéfinie vers « xercesc_2_7::SAXParseException::SAXParseException(xercesc_2_7::SAXParseException const&)»
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/sax/HandlerBase.hpp:398: référence indéfinie vers « xercesc_2_7::SAXParseException::~SAXParseException()»
/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/sax/HandlerBase.hpp:398: référence indéfinie vers « typeinfo for xercesc_2_7::SAXParseException»
./Convert.o:(.rodata._ZTVN11xercesc_2_713DTDEntityDeclE[vtable for xercesc_2_7::DTDEntityDecl]+0x10): référence indéfinie vers « xercesc_2_7::DTDEntityDecl::isSerializable() const »
./Convert.o:(.rodata._ZTVN11xercesc_2_713DTDEntityDeclE[vtable for xercesc_2_7::DTDEntityDecl]+0x14): référence indéfinie vers « xercesc_2_7::DTDEntityDecl::serialize(xercesc_2_7::XSerializeEngine&)»
./Convert.o:(.rodata._ZTVN11xercesc_2_713DTDEntityDeclE[vtable for xercesc_2_7::DTDEntityDecl]+0x18): référence indéfinie vers « xercesc_2_7::DTDEntityDecl::getProtoType() const »
./Convert.o:(.rodata._ZTVN11xercesc_2_713XMLAttDefListE[vtable for xercesc_2_7::XMLAttDefList]+0x10): référence indéfinie vers « xercesc_2_7::XMLAttDefList::isSerializable() const »
./Convert.o:(.rodata._ZTVN11xercesc_2_713XMLAttDefListE[vtable for xercesc_2_7::XMLAttDefList]+0x14): référence indéfinie vers « xercesc_2_7::XMLAttDefList::serialize(xercesc_2_7::XSerializeEngine&)»
./Convert.o:(.rodata._ZTVN11xercesc_2_713XMLAttDefListE[vtable for xercesc_2_7::XMLAttDefList]+0x18): référence indéfinie vers « xercesc_2_7::XMLAttDefList::getProtoType() const »
./Convert.o:(.rodata._ZTIN11xercesc_2_713DTDEntityDeclE[typeinfo for xercesc_2_7::DTDEntityDecl]+0x8): référence indéfinie vers « typeinfo for xercesc_2_7::XMLEntityDecl»
collect2: ld returned 1 exit status
make: *** [Stage] Erreur 1
make: La cible « all » n'a pas pu être refabriquée à cause d'erreurs.
Build complete for project Stage

ben j'ai plusieurs questions dans la tête :
Est ce qu'il faut ajouter le repertoire /lib dans la compilation ?
si oui, comment je peux l'ajouter ?
Qu'est ce que je fais pour corriger ma source ?
Est ce que cette erreur peut etre a cause d'une autre erreur dans le fichier Makefile généré par Eclipse ?
aidez moi SVP c'est tres urgent !!!

Hors ligne

#2 Le 23/08/2007, à 19:46

gene69

Re : Erreur de compilation de Xerces-c-2.7

/home/jalel/Desktop/xerces-c-src_2_7_0/src/xercesc/framework/XMLAttDefList.hpp:171: référence indéfinie vers « xercesc_2_7::XMemory::operator delete(void*)»

bon regarde dans tes sources de la classe XMemory si tu as bien la surcharge de l'opérateur delete(void*). 

Si oui c'est donc une erreur de makefile. Parfois les makefile sont générés automatiquement et je ne sais pas exactement comme ça se passe.

Verifie si tu génères bien le fichier xmemory.o puis lorsque tu linkes le programmes tu appelles bien cet objet. ce qui peut éventuellement à rajouter des flags à la compilation. je ne sait pas comment tu intègres ta librairie.

regarde du coté de man gcc -I

Cependant j'ai bien peur que le makefile ne soit pas très lisible.

Dernière modification par gene69 (Le 23/08/2007, à 19:49)


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne