Undefined Reference bei wxXml
-
Hallo,
Ich hab ein kleines Problem mit wxXmlDocument und wxXmlNode.
#include <wx/object.h> #include <wx/string.h> #include <wx/xml/xml.h> int main(int argc, char **argv) { wxPuts(wxT("TestApplication")); wxXmlDocument b(); wxXmlNode a(wxXML_ELEMENT_NODE,wxT("Test"), wxT("123")); //b.SetRoot(a); //bool c = betra.Save(wxT("test.xml")); }
-------------- Build: Debug in wxConsoleTest --------------- Compiling: main.cpp Linking console executable: bin\Debug\wxConsoleTest.exe obj\Debug\main.o: In function `ZN12wxStringBaseC2EPKw': C:/wxWidgets-2.8.9/include/wx/string.h:368: undefined reference to `wxXmlNode::wxXmlNode(wxXmlNode*, wxXmlNodeType, wxString const&, wxString const&, wxXmlProperty*, wxXmlNode*)' C:/wxWidgets-2.8.9/include/wx/string.h:368: undefined reference to `wxXmlNode::~wxXmlNode()' collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 1 seconds) 2 errors, 0 warnings
Sobald ich versuche einen wxString als Parameter bei den Konstruktoren der wxXml-Klassen zu benutzen kommt der Fehler und ich hab keine Ahnung warum.
-
Du hast den ersten Parameter vergessen, dort sollte ein XmlNode-Zeiger hin und nicht die enum-Konstante
-
wxXmlNode (wxXmlNodeType type, const wxString &name, const wxString &content=wxEmptyString, int lineNo=-1) A simplified version of the first constructor form, assuming a NULL parent.
Das ist ein anderer Konstruktor speziell für Nodes ohne Parent. Mit würde es auch nicht funktionieren.
Hat den niemand auch nur den hauch einer Idee.
-
So jetzt hab ich mal frisch verlinkt und jetzt kommt eine anderee Fehlermeldung:
C:\wxWidgets-2.8.9\lib\gcc_lib/libwxbase28ud_xml.a(xmllib_xml.o): In function `ZN13wxXmlDocument4LoadER13wxInputStreamRK8wxStringi': c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:685: undefined reference to `XML_ParserCreate' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:696: undefined reference to `XML_SetUserData' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:697: undefined reference to `XML_SetElementHandler' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:698: undefined reference to `XML_SetCharacterDataHandler' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:699: undefined reference to `XML_SetStartCdataSectionHandler' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:700: undefined reference to `XML_SetCommentHandler' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:701: undefined reference to `XML_SetDefaultHandler' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:702: undefined reference to `XML_SetUnknownEncodingHandler' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:709: undefined reference to `XML_Parse' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:712: undefined reference to `XML_GetErrorCode' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:712: undefined reference to `XML_ErrorString' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:713: undefined reference to `XML_GetCurrentLineNumber' c:/wxWidgets-2.8.9/build/msw/../../src/xml/xml.cpp:734: undefined reference to `XML_ParserFree'
Kann jmd etwas damit Anfangen.
Als zusätzliche information. Ich benutze Code::Blocks und wxWidgets 2.8.9 und versuche statisch zu Builden.
-
Also die Lösung des Problems ist einfach "libwxexpat.a" mit zu linken... warum weiß ich nicht.
Wenn ich es mit einem Dll-Build mache gehts auch ohne die Bibliothek...
-
Das ist der XML Parser