Damm.O
Grünschnabel
Hallo,
ich bin gerade dabei C++ zu lernen und dachte eigentlich es würde ganz gut laufen - bis heute Nach einem langen Marathon habe ich es geschafft, Xerces 2.8 zu installieren und die Samples zu bauen
Nun habe ich einen Sample-Code mit dem ich eine XML-Daten parsen können sollte
diese Datei (parser.cpp) versuche ich mit dem Befehl
zu bauen und bekomme die folgenden Fehler
und noch jede Menge mehr. Ich habe schon wie verrückt gegoogelt, konnte aber leider nichts entsprechendes finden
Kann mir vielleicht jemand helfen?
Vielen Dank,
Oliver
ich bin gerade dabei C++ zu lernen und dachte eigentlich es würde ganz gut laufen - bis heute Nach einem langen Marathon habe ich es geschafft, Xerces 2.8 zu installieren und die Samples zu bauen
Nun habe ich einen Sample-Code mit dem ich eine XML-Daten parsen können sollte
Code:
#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>
#include <iostream.h>
XERCES_CPP_NAMESPACE_USE
int main (int argc, char* args[]) {
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;
}
XercesDOMParser* parser = new XercesDOMParser();
parser->setValidationScheme(XercesDOMParser::Val_Always);
parser->setDoNamespaces(true); // optional
ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
parser->setErrorHandler(errHandler);
char* xmlFile = "x1.xml";
try {
parser->parse(xmlFile);
}
catch (const XMLException& toCatch) {
char* message = XMLString::transcode(toCatch.getMessage());
cout << "Exception message is: \n"
<< message << "\n";
XMLString::release(&message);
return -1;
}
catch (const DOMException& toCatch) {
char* message = XMLString::transcode(toCatch.msg);
cout << "Exception message is: \n"
<< message << "\n";
XMLString::release(&message);
return -1;
}
catch (...) {
cout << "Unexpected Exception \n" ;
return -1;
}
delete parser;
delete errHandler;
return 0;
}
diese Datei (parser.cpp) versuche ich mit dem Befehl
Code:
g++ -ansi -pedantic -o Parser parser.cpp
zu bauen und bekomme die folgenden Fehler
Code:
In Datei, eingefügt von /usr/include/c++/4.1.3/backward/iostream.h:31,
von parser.cpp:7:
/usr/include/c++/4.1.3/backward/backward_warning.h:32:2: Warnung: #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.
parser.cpp:58:6: Warnung: Kein Newline am Dateiende
/tmp/ccKJ4U1L.o: In function `main':
parser.cpp:(.text+0x85): undefined reference to `xercesc_2_7::XMLUni::fgXercescDefaultLocale'
parser.cpp:(.text+0xad): undefined reference to `xercesc_2_7::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_2_7::PanicHandler*, xercesc_2_7::MemoryManager*, bool)'
parser.cpp:(.text+0xb9): undefined reference to `xercesc_2_7::XMemory::operator new(unsigned int)'
parser.cpp:(.text+0xc1): undefined reference to `xercesc_2_7::XMLPlatformUtils::fgMemoryManager'
und noch jede Menge mehr. Ich habe schon wie verrückt gegoogelt, konnte aber leider nichts entsprechendes finden
Kann mir vielleicht jemand helfen?
Vielen Dank,
Oliver