XML in C++

Mein dev-C++ macht die makefiles automatisch.
Ich wüsste aber auch gerne mal wo man eine aktuelle lib herbekommt.
 
Zuletzt bearbeitet:
Hi lordfritte,
hast du denn eine Makefile dafür geschrieben oder machst du alles manuel, ich bekomme es nicht gebacken.Und wenn ja wie sieht es aus?.Wie binde ich meine Lib? indem ich alle *.cpp und *.h in der gleich ordner mein Program setze?.
Wie in der TinyXml Dokumentation beschrieben, kann man einfach die 2 Header und 4 .cpp Dateien zu seinem Projekt hinzufügen, so das diese mitkompiliert und gelinkt werden.

Man kann natürlich auch eine Bibliothek erstellen.
Mein dev-C++ macht die makefiles automatisch.
Ich wüsste aber auch gerne mal wo man eine aktuelle lib herbekommt.
Die kannst du ganz einfach aus dem Quellcode selbst erstellen. Auf der Kommandozeile wechselst du in das tinyxml Verzeichnis wo die Quelldateien liegen und gibst "make" ein. Du mußt natürlich sicherstellen, dass der Pfad zum Compiler (im Dev-Cpp\bin Verzeichnis) etc. gesetzt ist.

\edit: Da hab ich wohl zu früh gesprochen. Das Makefile erstellt keine .lib Datei - es erstellt nur Objektdateien und ein Test-Programm. Um eine .lib zu erstellen:
Code:
ar r libtinyxml.lib *.o

Gruß
 
Zuletzt bearbeitet:
Hi deepthroat,
wenn ich deine oben gebene Code ausführe( im consol mir cygwin) dann bekomme ich folgende Meldungen:
g++ -c main.cpp -Wall -Wno-format -g -DDEBUG tinyxml.cpp -o tinyxml.o
tinyxml.cpp:31 sstream: No such file or directory
In file included from tinyxml.cpp:34:
tinyxml.h:51: sstream: No such file or directory
make: ***[tinyxml.o] Error 1

ich habe mir die make die in Tinyxml ist benutzte und mir auf die beispiel angepasst.
Ich habe suche auch mit dev-c++ zu kompiliert und immer Erfolglos.
Danke im vorraus.
Gruss
 
Hi deepthroat,
wenn ich deine oben gebene Code ausführe( im consol mir cygwin) dann bekomme ich folgende Meldungen:
g++ -c main.cpp -Wall -Wno-format -g -DDEBUG tinyxml.cpp -o tinyxml.o
tinyxml.cpp:31 sstream: No such file or directory
In file included from tinyxml.cpp:34:
tinyxml.h:51: sstream: No such file or directory
make: ***[tinyxml.o] Error 1

ich habe mir die make die in Tinyxml ist benutzte und mir auf die beispiel angepasst.
Ich habe suche auch mit dev-c++ zu kompiliert und immer Erfolglos.
Danke im vorraus.
Gruss
Welche Version von g++ benutzt du denn? (g++ --version)

Du kannst ja mal versuchen ohne STL zu kompileren (ist eine Einstellung in dem Makefile).

Gruß
 
moin, ich habe mir MinGW-5.1.3 runtergeladen und installiert, ich habe auch den Path eingelegt.Dann mir auch cygwin installiert damit ich commando befehl ausführen kann.Wenn ich einfach c++ Program ausführe dann geht es ohne problem aber nicht das obige Program.
TINYXML_USE_STL := NO , ich habe auch versucht diese Zeite in Makefile zu ändern aber geht es immer nicht.Soll ich irgendwie noch was einbinden?
Gruss?.
 
moin, ich habe mir MinGW-5.1.3 runtergeladen und installiert, ich habe auch den Path eingelegt.Dann mir auch cygwin installiert damit ich commando befehl ausführen kann.Wenn ich einfach c++ Program ausführe dann geht es ohne problem aber nicht das obige Program.
TINYXML_USE_STL := NO , ich habe auch versucht diese Zeite in Makefile zu ändern aber geht es immer nicht.Soll ich irgendwie noch was einbinden?
Nein, sstream ist ein Header der C++ Standard Template Library (STL). Wenn der nicht gefunden wird hast du entweder einen zu alten Compiler oder irgendwas ist nicht richtig installiert. Da bei MinGW 5.1.3 der GCC 3.4.2 dabei ist, kann es nicht am Alter des Compilers liegen.

Sehr merkwürdig ist, dass du MinGW und Cygwin gleichzeitig installiert hast (was durchaus möglich ist), aber du vermutlich den MinGW Compiler von Cygwin aus startest.

Für MinGW solltest du MSYS installieren, oder du installierst unter Cygwin den C++ Compiler und kompilierst da.

Gruß

PS: Es wäre übrigens sehr hilfreich, wenn du das was du gemacht hast nicht beschreibst, sondern einfach zeigst was du gemacht hast. Und außerdem hast du die Frage nach der Compilerversion nicht beantwortet. Du hättest doch einfach nur die Ausgabe von g++ --version zitieren müssen...
 
Zuletzt bearbeitet:
Hi deepthroat, ich benutze gcc version 3.4.2. ich habe mir mal auch MSYS installiert und versuche erste mal damit ob es klappen könnte.
Also bis dann
 
Ich hab noch ein Problem, wenn ich was mit CodeBlocks Compilieren möchte kommt dies:
Code:
-------------- Build: Debug in tinyxml ---------------
Compiling: main.cpp
Linking console executable: bin\Debug\tinyxml.exe
obj\Debug\main.o: In function `ZN11TiXmlString4quitEv':C:/MinGW/include/tinystr.h:(.text$_ZN11TiXmlString4quitEv[TiXmlString::quit()]+0xb): undefined reference to `TiXmlString::nullrep_'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings

Hier der code:
Code:
#include <iostream>
#include "tinyxml.h"

using namespace std;

int main()
{

    TiXmlDocument doc("test.xml");

    cout << "Hello world!" << endl;
    return 0;
}
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück