Bonjour
Je trouve un souci dans l'installation de tinyxml,j'utilise le Debian et je suis debutante en C++.
1-J'ai extraire le dossier
2- je fais make pour le compiler
3-j'ai fais #include "tinyxml.h" et #include "tinyxml.h" dans le header de mon classe
4-j'ai copier tous le fichier de la bibliothéque dans le dossier de mon projet.
mais toujours le même problème
c'est l'erreur
et c'est mon code c++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /tmp/ccQx8mye.o: In function `main': Testtinyxml.cpp:(.text+0x1e): undefined reference to `TiXmlDocument::TiXmlDocument(char const*)' Testtinyxml.cpp:(.text+0x32): undefined reference to `TiXmlDocument::LoadFile(TiXmlEncoding)' /tmp/ccQx8mye.o: In function `TiXmlString::quit()': Testtinyxml.cpp:(.text._ZN11TiXmlString4quitEv[TiXmlString::quit()]+0xc): undefined reference to `TiXmlString::nullrep_' /tmp/ccQx8mye.o: In function `TiXmlDocument::~TiXmlDocument()': Testtinyxml.cpp:(.text._ZN13TiXmlDocumentD1Ev[TiXmlDocument::~TiXmlDocument()]+0xb): undefined reference to `vtable for TiXmlDocument' Testtinyxml.cpp:(.text._ZN13TiXmlDocumentD1Ev[TiXmlDocument::~TiXmlDocument()]+0x24): undefined reference to `TiXmlNode::~TiXmlNode()' collect2: ld returned 1 exit status
J’espère que vous m'aider à trouver une solution
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
35
36
37
38
39
40
41 #include "Testtinyxml.h" #include <iostream> #include "boost/date_time/gregorian/gregorian.hpp" #include "tinyxml.h" #include <list> #include "User.h" #include "tinystr.h" using namespace std; int main(){ TiXmlDocument doc("lstUsers.xml"); if(!doc.LoadFile()){ cerr << " erreur lors du chargement" << endl; cerr << "error #" << doc.ErrorId() << " : " << doc.ErrorDesc() << endl; return 1; list<User> user_list; TiXmlHandle hdl(&doc); TiXmlElement *elem = hdl.FirstChildElement().FirstChildElement().Element(); User cl; if(!elem){ cerr << "le noeud à atteindre n'existe pas" << endl; return 2; } while (elem){ cl.name = elem->Attribute("name"); cl.pass = elem->Attribute("pass"); elem->QueryIntAttribute("indice", &cl.droits); user_list.push_back(cl); elem = elem->NextSiblingElement(); // iteration } list<User>::iterator i; for(i=user_list.begin(); i!=user_list.end(); i++) cout << i->name << " " << i->pass << " " << i->droits << endl; } return 0; }
Partager