JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=e89fed726dbef6aaf03ef846d401b065Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

TinyXML - Linker Error

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 00:49    Titel: TinyXML - Linker Error Antworten mit Zitat

Hey,

ich arbeite mit TinyXMl, wodurch bisher keine Probleme entstanden sind, aber bei meinem aktuellem Projekt, wo ich ebenfalls TinyXml verwenden will gibt es folgendes Problem:

Code:
error LNK2005: "protected: static void __cdecl TiXmlBase::PutString(class TiXmlString const &,class TiXmlString *)" (?PutString@TiXmlBase@@KAXABVTiXmlString@@PAV2@@Z) ist bereits in CR_Application.obj definiert.


Von diesen Linker-Errors bekomme ich direkt 500 um die Ohren.

Das ich die CPP-Dateien mit includieren muss ist klar, wie gesagt, hat bisher super geklappt, aber in diesem Projekt will TinyXml einfach nicht laufen ...
Eigendlich bedeutet LNK2005 doch sowas wie "Mehrfach-Definition", wobei die Headerdateien nur einmal geladen werden und das dieser Error dürfte doch nicht Projektspeziefisch eintreten ... Confused

Was meint ihr ?
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 07:56    Titel: Re: TinyXML - Linker Error Antworten mit Zitat

Mat hat Folgendes geschrieben:
Das ich die CPP-Dateien mit includieren muss ist klar, wie gesagt, hat bisher super geklappt, aber in diesem Projekt will TinyXml einfach nicht laufen ...

Warum ist das klar? Das ist pervers, daher resultieren diese Mehrfachdefinitionen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 11:56    Titel: Antworten mit Zitat

Das liegt am Parser selbst,
schau hier:
http://www.grinninglizard.com/tinyxml/
hier:
http://www.grinninglizard.com/tinyxmldocs/index.html
oder auch hier:
http://www.softgames.de/developia/viewarticle.php?cid=19927&page=1

Ist einer der wenigen schlanken XML-Parser, die prinzipiell auch gut mit VS8.0 klar kommen, also Alternativen gibt's nicht wirklich viele.
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Deviloper
Junior JLI'ler



Anmeldedatum: 31.05.2006
Beiträge: 77

Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 12:12    Titel: Antworten mit Zitat

Man inkludiert für gewöhnlich Header und kein Source-File.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 12:22    Titel: Antworten mit Zitat

Deviloper hat Folgendes geschrieben:
Man inkludiert für gewöhnlich Header und kein Source-File.


Das ist mir schon klar, ich bin ja auch nicht völlig auf den Kopf gefallen!
Anscheinend muss man das bei diesen Files aber machen, habe auch schon probiert, sie umzuschreiben, bisher aber auch ohne Erflog.

=> In früheren Projekten lief´TinyXMl ja auch schon!
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dragon
Super JLI'ler


Alter: 38
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 12:37    Titel: Antworten mit Zitat

Versuch mal die cpp-Dateien deinem Projekt hinzuzufügen. Dann werden die nämlich mit kompiliert. Und niemals cpp-Dateien includieren. Das kann man nicht oft genug sagen. Wink
_________________
Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 12:51    Titel: Antworten mit Zitat

Yeeha,
it's running Wink

Ich versteh jetzt auch worans lag.
Nur sehr komisch, dass in allen möglichen Dokumentationen eine dermaßen schlechte Lösung bevorzugt wurde (includieren der cpps).

najo, thx Cool
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 12:56    Titel: Antworten mit Zitat

Mat hat Folgendes geschrieben:
Yeeha,
it's running Wink

Ich versteh jetzt auch worans lag.
Nur sehr komisch, dass in allen möglichen Dokumentationen eine dermaßen schlechte Lösung bevorzugt wurde (includieren der cpps).

najo, thx Cool


Wo denn?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 13:28    Titel: Antworten mit Zitat

Dieser Parser war wie folgt aufgebaut:

- > tinyxml.h
- - > tinyxml.cpp
- - > tinyxmlerror.cpp
- - > tinyxmlparser.cpp

- > tinystr.h
- - > tinystr.cpp

Daraus folgt, das zu einer headerfile mehrere cpp-Files gehören.
Damit diese aber auch gelesen werden, müssen die Cpp-Files zu dem Projekt hinzugefügt werden.
Wenn man das manuel macht (diese also inkludiert), wird tinyxml.cpp und tinystr.cpp doppelt gelesen, daher der Fehler LNK2005.
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 14:33    Titel: Antworten mit Zitat

Haste halt zu viel gefolgert. Es werden niemals .cpp Dateien inkludiert, nie! Und Dateien in ein Projekt einbinden und inkludieren sind zwei paar Schuh'. Das hat garnichts miteinander zu tun!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 15:03    Titel: Antworten mit Zitat

Das ist das dämliche an C++ am Anfang hat man übelste Probleme mit dem includieren.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 17:10    Titel: Antworten mit Zitat

@David:

Ja, da hast du recht, habe mir das bei diesem Tutorial (siehe Links oben) abgeschaut. SChließlich ist es auch nicht üblich, externe Klassen zu dem Projekt hinzuzufügen ...

Aber da bin ich nun ja schlauer Wink
Ich schreib dem Tut-Autor mal ne Mail.
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 17:32    Titel: Antworten mit Zitat

Mat hat Folgendes geschrieben:
@David:

Ja, da hast du recht, habe mir das bei diesem Tutorial (siehe Links oben) abgeschaut. SChließlich ist es auch nicht üblich, externe Klassen zu dem Projekt hinzuzufügen ...

Aber da bin ich nun ja schlauer Wink
Ich schreib dem Tut-Autor mal ne Mail.


Doch, das ist üblich. Es sei denn du linkst über eine DLL statisch. Ansonsten wird das gesammte Projekt in den Projektordner mit übernommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mat
Senior JLI'ler


Alter: 36
Anmeldedatum: 17.09.2005
Beiträge: 205
Wohnort: Koblenz
Medaillen: Keine

BeitragVerfasst am: 18.03.2007, 19:11    Titel: Antworten mit Zitat

Thx!
_________________
- - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum