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
|
Verfasst am: 18.03.2007, 00:49 Titel: TinyXML - Linker Error |
|
|
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 ...
Was meint ihr ? _________________ - - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - - |
|
Nach oben |
|
 |
GreveN JLI Master

Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 18.03.2007, 07:56 Titel: Re: TinyXML - Linker Error |
|
|
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 |
|
 |
Mat Senior JLI'ler

Alter: 36 Anmeldedatum: 17.09.2005 Beiträge: 205 Wohnort: Koblenz Medaillen: Keine
|
|
Nach oben |
|
 |
Deviloper Junior JLI'ler
Anmeldedatum: 31.05.2006 Beiträge: 77
Medaillen: Keine
|
Verfasst am: 18.03.2007, 12:12 Titel: |
|
|
Man inkludiert für gewöhnlich Header und kein Source-File. |
|
Nach oben |
|
 |
Mat Senior JLI'ler

Alter: 36 Anmeldedatum: 17.09.2005 Beiträge: 205 Wohnort: Koblenz Medaillen: Keine
|
Verfasst am: 18.03.2007, 12:22 Titel: |
|
|
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 |
|
 |
Dragon Super JLI'ler

Alter: 38 Anmeldedatum: 24.05.2004 Beiträge: 340 Wohnort: Sachsen Medaillen: Keine
|
Verfasst am: 18.03.2007, 12:37 Titel: |
|
|
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.  _________________ Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung |
|
Nach oben |
|
 |
Mat Senior JLI'ler

Alter: 36 Anmeldedatum: 17.09.2005 Beiträge: 205 Wohnort: Koblenz Medaillen: Keine
|
Verfasst am: 18.03.2007, 12:51 Titel: |
|
|
Yeeha,
it's running
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  _________________ - - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - - |
|
Nach oben |
|
 |
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 18.03.2007, 12:56 Titel: |
|
|
Mat hat Folgendes geschrieben: | Yeeha,
it's running
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  |
Wo denn? |
|
Nach oben |
|
 |
Mat Senior JLI'ler

Alter: 36 Anmeldedatum: 17.09.2005 Beiträge: 205 Wohnort: Koblenz Medaillen: Keine
|
Verfasst am: 18.03.2007, 13:28 Titel: |
|
|
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 |
|
 |
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 18.03.2007, 14:33 Titel: |
|
|
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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 18.03.2007, 15:03 Titel: |
|
|
Das ist das dämliche an C++ am Anfang hat man übelste Probleme mit dem includieren. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Mat Senior JLI'ler

Alter: 36 Anmeldedatum: 17.09.2005 Beiträge: 205 Wohnort: Koblenz Medaillen: Keine
|
Verfasst am: 18.03.2007, 17:10 Titel: |
|
|
@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
Ich schreib dem Tut-Autor mal ne Mail. _________________ - - - - - - - - - - - - - - - - - - - -
-> http://www.sea-productions.de
-> http://www.krawall.de
- - - - - - - - - - - - - - - - - - - - |
|
Nach oben |
|
 |
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 18.03.2007, 17:32 Titel: |
|
|
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
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 |
|
 |
Mat Senior JLI'ler

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