Bonjour a tous, je developpe une application qui doit dessiner un arbre
phylogenetique (wxwidgets). Pour ce faire, je voudrais utiliser un
arbre au format XML.
J'utilise donc "xerces" avec DOM. Je suis actuellement sous linux
Mandrake 10.1 et j'ai installé via le gestionnaire de paquet
"libxercec" et "libxerces-dev" (a quelque chose pret). Les fichiers
sont bien installés (/usr/lib /usr/include/xercesc/)...
j'ai inclu les fichiers suivants ::
//nécessaire pour faire fonctionner Xerces, ce sont les outils de bases (pour créer le parser)
#include <xercesc/util/PlatformUtils.hpp>
//Les 2 dernières servent a transformer les chaîne "XMLString" qu'utilise Xerces en chaîne de caractère "classique"
#include <xercesc/util/XMLString.hpp>
//et en nombres.
#include <xercesc/util/XMLNumber.hpp>
//necessaire pour utiliser DOM
#include <xercesc/dom/DOM.hpp>
#include <xercesc/framework/StdOutFormatTarget.hpp>
#include <xercesc/framework/LocalFileFormatTarget.hpp>
jusque la tout va bien, mais des que je commence a implementer des choses ::
DOMImplementation* impl = NULL;
XMLPlatformUtils::Initialize();
//faire tout ce que vous voulez (parsez, créer des documents, écrire, etc...)
XMLPlatformUtils::Terminate();
mon compilateur gcc 3.4.1 me balance ::
MyTreePanel.cpp:18: error: `DOMImplementation' undeclared (first use this function)
MyTreePanel.cpp:18: error: (Each undeclared identifier is reported only once for each function it appears in.)
MyTreePanel.cpp:18: error: `impl' undeclared (first use this function)
MyTreePanel.cpp:19: error: `XMLPlatformUtils' has not been declared
MyTreePanel.cpp:19: error: `Initialize' undeclared (first use this function)
MyTreePanel.cpp:25: error: `XMLPlatformUtils' has not been declared
MyTreePanel.cpp:25: error: `Terminate' undeclared (first use this function)
make: *** [MyTreePanel.o] Erreur 1
Donc apparement, il ne connait pas les methodes que
j'utilise, je ne comprends pas trop, peut être que je compile mal.
j'utilise un makefile maison ::
#makefile
CC=gcc
CXXFLAGS=`wx-config --cxxflags`
LDFLAGS=`wx-config --libs`
D=-Wno-deprecated
BIO=-lutils -lnumcalc -lseq -lphyl
LIB_DIR=-L/usr/lib -llibxerces-c.so.25.0
INCLUDE_DIR=-I/usr/include/xercesc
EXEC=editeur
all: $(EXEC)
$(EXEC): line.o MyScrolledWindow.o EditeurSequence.o NameSequence.o MyTreePanel.o winEdit.o application.o
$(CC) $^ $(LDFLAGS) $(BIO) $(LIB_DIR) -o $(EXEC)
line.o: line.cpp line.h
$(CC) -c $< $(CXXFLAGS) $(D)
MyScrolledWindow.o: MyScrolledWindow.cpp MyScrolledWindow.h
$(CC) -c $< $(CXXFLAGS) $(D)
EditeurSequence.o: EditeurSequence.cpp EditeurSequence.h line.h NameSequence.h MyScrolledWindow.h
$(CC) -c $< $(CXXFLAGS) $(D)
NameSequence.o: NameSequence.cpp NameSequence.h line.h EditeurSequence.h MyScrolledWindow.h
$(CC) -c $< $(CXXFLAGS) $(D)
MyTreePanel.o: MyTreePanel.cpp MyTreePanel.h
$(CC) -c $< $(CXXFLAGS) $(INCLUDE_DIR) $(D)
winEdit.o: winEdit.cpp winEdit.h EditeurSequence.h NameSequence.h MyTreePanel.h
$(CC) -c $< $(CXXFLAGS) $(D)
application.o: application.cpp application.h precomp.h winEdit.h
$(CC) -c $< $(CXXFLAGS) $(D)
.PHONY: clean mrproper
clean :
@rm -rfv *.o *.*~ *~ *#
mrproper : clean
@rm -rfv $(EXEC)
Si jamais quelqu'un voit l'erreur, je lui serai vraiment reconnaissant de m'aider...
Cordialement 