Aktuelle Zeit: 13.05.2025, 15:36

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Irrlicht Problem
BeitragVerfasst: 26.03.2009, 17:19 
Offline

Registriert: 30.09.2008, 19:41
Beiträge: 12
Hi,
ich habe nach langer Zeit des C++ Lernens wieder angefangen mit Irrlicht und das Hello World Programm läuft auch fehler frei aber jetzt habe ich ein Problem:

Ich habe das 2. Tutorial gemacht und versucht die Quake Map zu laden (kompilieren funktioniert reibungslos) und auch alle anderen Sachen sind am richtigen Fleck (keine Fehler ...nichts sonst) ABER:

Beim debuggen wird alles gelinkt, aber es erscheint kein Fenster stattdessen diese Meldung:
Zitat:
Das Programm "[780] Irrlicht Tutorial2-Quake3Map.exe: Systemeigen" wurde mit Code 1 (0x1) beendet.


und auch Die .exe erzeugt kein Fenster

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


using namespace irr;


#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif


int main()
{
   

   // ask user for driver

   video::E_DRIVER_TYPE driverType;

   printf("Please select the driver you want for this example:\n"\
      " (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\
      " (d) Software Renderer\n (e) Burning's Software Renderer\n"\
      " (f) NullDevice\n (otherKey) exit\n\n");

   char i;
   std::cin >> i;

   switch(i)
   {
      case 'a': driverType = video::EDT_DIRECT3D9;break;
      case 'b': driverType = video::EDT_DIRECT3D8;break;
      case 'c': driverType = video::EDT_OPENGL;   break;
      case 'd': driverType = video::EDT_SOFTWARE; break;
      case 'e': driverType = video::EDT_BURNINGSVIDEO;break;
      case 'f': driverType = video::EDT_NULL;     break;
      default: return 1;
   }   

   // create device and exit if creation failed

   IrrlichtDevice *device =
      createDevice(driverType, core::dimension2d<s32>(640, 480));

   if (device == 0)
      return 1; // could not create selected driver.

   
   video::IVideoDriver* driver = device->getVideoDriver();
   scene::ISceneManager* smgr = device->getSceneManager();

   
   device->getFileSystem()->addZipFileArchive("../../media/map-20kdm2.pk3");

   
   scene::IAnimatedMesh* mesh = smgr->getMesh("20kdm2.bsp");
   scene::ISceneNode* node = 0;
   
   if (mesh)
      node = smgr->addOctTreeSceneNode(mesh->getMesh(0), 0, -1, 1024);
      node = smgr->addMeshSceneNode(mesh->getMesh(0));

   
   if (node)
      node->setPosition(core::vector3df(-1300,-144,-1249));

   
   smgr->addCameraSceneNodeFPS();

   
   device->getCursorControl()->setVisible(false);

   
   int lastFPS = -1;

   while(device->run())
   {
      if (device->isWindowActive())
      {
         driver->beginScene(true, true, video::SColor(255,200,200,200));
         smgr->drawAll();
         driver->endScene();

         int fps = driver->getFPS();

         if (lastFPS != fps)
         {
            core::stringw str = L"Irrlicht Engine - Quake 3 Map example [";
            str += driver->getName();
            str += "] FPS:";
            str += fps;

            device->setWindowCaption(str.c_str());
            lastFPS = fps;
         }
      }
      else
         device->yield();
   }

   
   device->drop();
   return 0;
}




Ich hoffe ihr könnt mir helfen...


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 26.03.2009, 17:39 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Da der Rückgabewert 1 ist hast du entweder eine falsche Eingabe beim auswählen des Videodrivers gemacht oder das device konnte nicht erstellt werden.

Verwendest du zufällig die gcc dll und versuchst einen directx driver zu erstellen ?

Ansonsten das programm einfach mal aus der eingabeaufforderung starten (start -> ausführen -> cmd). Dort sollten dir eigentlich fehler der engine angezeigt werden.

_________________
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 Problem
BeitragVerfasst: 26.03.2009, 18:09 
Offline

Registriert: 30.09.2008, 19:41
Beiträge: 12
nein ich nutze nur VS 08
und die Irrlicht.dll

und ich komme nicht einmal bis zum Auswählen des Video Drivers, da sich gar kein Fenster öffnet, aber eigentlich müsste der Code ja richtig sein da ich ih nnur aus der Doku kopiert hab, oder?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 26.03.2009, 21:15 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Dann geh doch einfach mal schritt für schritt mit dem debugger durch und guck wo er beendet.

_________________
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 Problem
BeitragVerfasst: 27.03.2009, 14:14 
Offline

Registriert: 30.09.2008, 19:41
Beiträge: 12
ich hab den Fehler gefunden (bei der Switch auswahl war return 1 als default und wurde immer ausgeführt -> ich habs gelöscht) und jetzt bekomme ich weiter unten einen Fehler:

Zitat:
Run-Time Check Failure #3 - The variable 'driverType' is being used without being initialized.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 27.03.2009, 16:08 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
Hi,

das heißt lediglich das ihr kein Wert zugewiesen wurde, bevor sie verwendet wird, du solltest also deinem driver_type schon bei der Initialisierung irgendeinen Wert zuweisen...

So etwa:
Code:
E_DRIVER_TYPE driverType = EDT_DIRECT3D9;


Außerdem erspart einem das lästige auswählen eines Treibers bei häufigen Testläufen.. ;-)

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 27.03.2009, 18:53 
Offline

Registriert: 30.09.2008, 19:41
Beiträge: 12
danke für die Hilfe aber jetzt kommt :
Zitat:
error C2065: 'EDT_DIRECT3D9': nichtdeklarierter Bezeichner


PS: Das Tutorial 3 Programm (das mit dem Dreieck ) läuft... kann also nicht an meiner Unfähigkeit des Linkens liegen

Aber es wäre schön wenn ihr mir helfen könntet weil ich ja gerne alles lernen würde und nicht die Kapitel überspringen die nicht gehen.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 27.03.2009, 21:42 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
Hi,

ich nehm mal du/ich hab den Namespace vergessen, musste mal nachschauen... der müsste irr::driver:: oder so sein, bin grad im Urlaub und hab leider kein Irrlicht...

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 28.03.2009, 09:33 
Offline

Registriert: 30.09.2008, 19:41
Beiträge: 12
so hattest recht ich hab alle namespaces eingebunden und jetzt klappt das kompilieren, aber da ich ja der König der Fehler bin hab ich jetz folgendes:
Das Fenster wird angeziegt allerdings nur grau und zeigt nicht die Map...

PS: Schönen Urlaub noch!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 28.03.2009, 10:44 
Offline

Registriert: 12.09.2008, 21:41
Beiträge: 187
Wohnort: Deutschland
Vielleicht probierste noch nen anderen Treiber z. B. OpenGl und du checkst ob er die Map überhaupt läd, also mal auf den Output in der Console achten...

Gruß
Scarabol

_________________
My Toolbox:
- Irrlicht 1.7.1
- Blender 2.49a
- Microsoft Visual C++ Express Edition 2008
- Newton Game Dynamics 2.xx
Regeln zur Programmierung:
Regel 1: Die Programmiersprache hat keine Fehler.
Regel 2: Solltest du doch einen Fehler finden, tritt automatisch Regel 1 in Kraft.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Irrlicht Problem
BeitragVerfasst: 28.03.2009, 13:35 
Offline

Registriert: 30.09.2008, 19:41
Beiträge: 12
vielen Dank für eure Hilfe,

auch wenn ich den Fehler nicht gefunden habe, läuft es jetzt :

Ich habe einfach statt dem Code aus der Doku den Code von der Irrlicht Haupseite genommen und jetzt geht´s

(Meine Vermutung: Vll habe ich aus meiner Unfähigkeit heraus die Konsole deeaktiviert und deshalb konnte gar nicht erst nach dem Driver gefragt werden -- egal,

jetz Geht´s !!)

Vielen Dank für die Hilfe


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


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