xercesc - undefined reference

wuz666

Member
Hi!

Ich habe mir xercesc aus den ports installiert und wollte mir einfach mal ein simples Testfile compilieren, was leider völlig fehl schlug.
Nach einiger Google - Arbeit konnte ich wenigstens ein paar Errors beheben aber an einem bleibe ich hängen und komm nicht weiter :-(
Vielleicht hat jemand von euch Erfahrung mit xercesc und könnte mir behilflich sein.

Testfile:
Code:
#include "xercesc/util/PlatformUtils.hpp"
#include "xercesc/parsers/DOMParser.hpp"
#include "xercesc/dom/DOM_DOMException.hpp"

int main()
{

}

Der Compileraufruf sieht wie folgt aus:
g++ test.o -I /usr/local/include/ test.cpp

und das ist der daraus resultierende Error:


Code:
/var/tmp//ccJjY1Vx.o(.text+0x0): In function `main':
: multiple definition of `main'
test.o(.text+0x0): first defined here
test.o(.gnu.linkonce.t._ZN13DTDEntityDeclD0Ev+0x21): In function `DTDEntityDecl::~DTDEntityDecl()':
: undefined reference to `XMLEntityDecl::~XMLEntityDecl()'
test.o(.gnu.linkonce.t._ZN13DTDEntityDeclD1Ev+0x21): In function `DTDEntityDecl::~DTDEntityDecl()':
: undefined reference to `XMLEntityDecl::~XMLEntityDecl()'
test.o(.gnu.linkonce.r._ZTI13DTDEntityDecl+0x10): undefined reference to `typeinfo for XMLEntityDecl'

Ich glaube, dass es ein Linker Error ist, weiß aber leider nicht wie ich ihn beheben soll.
Wenn mir jemand helfen könnte, wäre ich sehr dankbar.

mfg
 
g++ test.o -I /usr/local/include/ test.cpp

du versuchst ein binary zu erstellen, aus test.o und test.cpp -- test.o ist bereits der objektcode von test.cpp, daher gibt es zweimal ein "main". Die frage ist, wo test.o herkam - hast du das vorher mit g++ -c erstellt?

Du solltest stattdessen etwa sowas ausführen:
g++ test.o -o test

oder, wenn du den schritt über test.o nicht gehen willst, gleich direkt das binary erstellen:
g++ -I/usr/local/include/ test.cpp

Außerdem fehlen noch die bibliotheken, mit denen es verlinkt werden muss. Dazu siehe die Dokumentation.

auf bald
oenone
 
Zurück
Oben