Aktuelle Zeit: 10.01.2025, 18:43

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 11.06.2007, 18:52 
Offline
Benutzeravatar

Registriert: 10.06.2007, 12:31
Beiträge: 13
Wohnort: Aachen
Hi,
ist es irgendwie möglich während man die Irrlicht Engine benutzt Dateien einzulesen?

Bei diesem Versuch:
Code:
#include <irrlicht.h>
#include <fstream>
[...]

std::ifstream config;
config.open("config.cfg", std::ios::in);

config>>test; // test = Teststring

config.close();


... kommt der Fehler:
Zitat:
LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__CrtDbgReportW" in Funktion ""public: char const & __thiscall std::_String_const_iterator,class std::allocator >::operator*(void)const " (??D?$_String_const_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEABDXZ)".
libcpmtd.lib(stdthrow.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
libcpmtd.lib(xdebug.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".
libcpmtd.lib(xdebug.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__free_dbg" in Funktion ""void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)".
libcpmtd.lib(_tolower.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__calloc_dbg" in Funktion "__Getctype".


Habt ihr Irgendwelche Ideen wodran das liegen könnte? Oder Alternativen zum Einlesen von Dateien?


Danke,
methos

_________________
Unmögliches wird sofort erledigt,
Wunder dauern etwas länger! ;-)

Using Irrlicht since: 09.06.2007 :)


Zuletzt geändert von methos am 12.06.2007, 10:03, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht - Dateien einlesen
BeitragVerfasst: 11.06.2007, 20:36 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
andere runtime library linken..

als alternative halt den old-school c weg

Code:
FILE* fp = fopen("datei","rb");
char test[200];
fread(test,sizeof(char),200,fp);
fclose(fp);

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht - Dateien einlesen
BeitragVerfasst: 11.06.2007, 20:39 
Offline

Registriert: 07.05.2007, 21:28
Beiträge: 16
Wohnort: Christerode
Hi,

ich weis zwar nicht ob es dir was Hilft, aber ich mein irgendwo gelesen zu haben, dass Irrlicht einen XML-Reader zur verfügung stellt?, IrrXML (schnell gesucht) nennt sich das.

Vielleicht wäre das eine Alternative eine Datei einzulesen als eine CFG Datei?


killTek

_________________
In dem Sinne

killTek


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht - Dateien einlesen
BeitragVerfasst: 12.06.2007, 10:02 
Offline
Benutzeravatar

Registriert: 10.06.2007, 12:31
Beiträge: 13
Wohnort: Aachen
Schonmal Danke für die Antworten!!

Zitat:
als alternative halt den old-school c weg

nein. :)

Zitat:
ich weis zwar nicht ob es dir was Hilft, aber ich mein irgendwo gelesen zu haben, dass Irrlicht einen XML-Reader zur verfügung stellt?, IrrXML (schnell gesucht) nennt sich das.


Danke!! Habs probiert und klappt auf Anhieb.

Hier der funktionierende Code:
Code:
#include <irrlicht.h>

using namespace io;
[...]

float movingspeed    = 250.0f; // Standardwert
float rotationspeed  = 100.0f; // Standardwert
float jumpspeed      = 0.5f;   // Standardwert
   
IrrXMLReader *xml = createIrrXMLReader("config.xml");

while (xml && xml->read())
{
    switch (xml->getNodeType())
    {
        case EXN_ELEMENT:
        if (!strcmp("cam", xml->getNodeName()))
        {
             movingspeed   = xml->getAttributeValueAsFloat("moving");
             rotationspeed = xml->getAttributeValueAsFloat("rotation");
             jumpspeed     = xml->getAttributeValueAsFloat("jump");
        }
    }
}

delete xml;


Und hier die XML-Datei:
Code:
<?xml version="1.0"?>
<config>
   <!-- Loading Camera Settings -->
   <cam moving="50.0" rotation="100.0" jump="0.5" />
</config>



Gruß,
methos

_________________
Unmögliches wird sofort erledigt,
Wunder dauern etwas länger! ;-)

Using Irrlicht since: 09.06.2007 :)


Zuletzt geändert von methos am 12.06.2007, 10:32, insgesamt 1-mal geändert.

Nach oben
 Profil  
 
BeitragVerfasst: 12.06.2007, 10:13 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
*hust* platzverschwendung *hust*

irrXML ist doch in irrlicht schon integriert... warum benutzt du dann die stand-alone-variante ?

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
BeitragVerfasst: 12.06.2007, 10:14 
Offline
Benutzeravatar

Registriert: 10.06.2007, 12:31
Beiträge: 13
Wohnort: Aachen
Die 1 Zeile? ;)

Na gut, das #include <irrXML.h> kann man weglassen! Meinst du das?

_________________
Unmögliches wird sofort erledigt,
Wunder dauern etwas länger! ;-)

Using Irrlicht since: 09.06.2007 :)


Nach oben
 Profil  
 
BeitragVerfasst: 12.06.2007, 12:14 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
jo das auch, aber ich denke mal, du hast dir irrXML seperat runtergeladen, oder? weil sonst würdest du nicht den irrXML header einbinden...

Und ich meine du kannst den xml reader auch über das IFileSystem erstellen, was meiner meinung nach der sauberere weg ist

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
BeitragVerfasst: 12.06.2007, 13:04 
Offline
Benutzeravatar

Registriert: 10.06.2007, 12:31
Beiträge: 13
Wohnort: Aachen
kannst du mir bitte ein beispiel geben?

_________________
Unmögliches wird sofort erledigt,
Wunder dauern etwas länger! ;-)

Using Irrlicht since: 09.06.2007 :)


Nach oben
 Profil  
 
BeitragVerfasst: 12.06.2007, 17:05 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
du erstellst deinen xml reader einfach per
Code:
IFileSystem::createXMLReader();


dann brauchst du auch nicht extra irrXML runterladen sondern benutzt halt nur irrlicht

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
BeitragVerfasst: 13.06.2007, 16:46 
Offline
Benutzeravatar

Registriert: 10.06.2007, 12:31
Beiträge: 13
Wohnort: Aachen
cool, hab ich noch garnicht gesehen, danke! :)

_________________
Unmögliches wird sofort erledigt,
Wunder dauern etwas länger! ;-)

Using Irrlicht since: 09.06.2007 :)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de