Erstellen eines Irrlicht Projekts mit Dev-C++

Da ich im Offiziellen englischen Tutorial einen Fehler gefunden habe, habe ich beschlossen ein eigenes zu schreiben.

Es sind nicht viele Schritte notwendig um Irrlicht in Dev-C++ lauffähig zu machen. Ich werde im weiteren Verlauf des Tutorials die erweiterte Dev-C++ Version wxDev-C++ verwenden. Allerdings existieren bei der Irrlicht-Konfiguration keinerlei unterschied zwischen beiden Versionen.

Es wird davon ausgegangen das die Entwicklungsumgebung bereits installiert ist. Da Dev-C++ über einen Windows-Installer verfügt sollte das auch keine Schwierigkeiten bereiten.

Mit „Irrlicht“-Verzeichnis ist das Verzeichnis eurer Irrlicht Installation gemeint.

  1. Das Projekt
    Als erstes muss man über „Datei->Neu->Projekt“ ein neues Projekt anlegen, dabei sollte man als Vorlage eine Konsolenanwendung verwenden.
  2. Hinzufügen der Header
    Über „Projekt->Projektoptionen“ gelangt ihr in zu den Projektoptionen. Wählt hier den Reiter „Verzeichnisse“. Hier fügt ihr unter „Include Verzeichnisse“ den Pfad zu euerm „Irrlicht/include“-Verzeichnis hinzu.
  3. Hinzufügen der Lib
    Jetzt müsst ihr im Reiter „Zusätzliche Kommandozeilen Optionen“ über „Bibliothek/Objekt hinzuf.“ Die Datei „libIrrlicht.a“ aus euerm „Irrlicht/lib/Win32-gcc“-Verzeichnis hinzufügen.
    Damit habt ihr alle Einstellungen vorgenommen. Jetzt kann’s losgehen!
  4. Der Quellcode
     
          #include <irrlicht> 
          #include <iostream> 
            
           using namespace irr; 
           using namespace core; 
           using namespace scene; 
           using namespace video; 
           using namespace io; 
           using namespace gui; 
            
           #pragma comment(lib, "Irrlicht.lib") 
            
           int main(int argc, char *argv[]){ 
            
             //Initialisieren von Irrlicht (die GCC-Irrlicht.dll unterstützt nur OpneGL) 
             IrrlichtDevice *device = createDevice(EDT_OPENGL, core::dimension2d<s32>(640, 480)); 
             IVideoDriver* driver = device->getVideoDriver(); 
             ISceneManager* smgr = device->getSceneManager(); 
            
             //Laden der Quake3 Map 
             device->getFileSystem()->addZipFileArchive("cht3.pk3"); 
            
             //Map  
             IAnimatedMesh* mesh =smgr->getMesh("cht3.bsp"); 
             smgr->addAnimatedMeshSceneNode(mesh); 
            
            
             //Hinzufügen einer FirstPersonShooter-Kamera 
             smgr->addCameraSceneNodeFPS(); 
            
             //Hauptschleife 
             while(device->run()){ 
            
               driver->beginScene(true, true, video::SColor(0,200,200,200)); 
               smgr->drawAll(); 
            
               driver->endScene(); 
            } 
           } 
     
  5. Das Programm
    Um das Programm zu kompilieren müsst ihr einfach auf den Kompilieren-Knopf drücken. Das Programm wird nach dem kompilieren automatisch gestartet. Allerding bekommt man noch einen Fehler „Die Anwendung konnte nicht gestartet werden, weil Irrlicht.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem behebe“ um dieses Problem zu beseitigen müsst ihr einfach die „Irrlicht.dll“ aus eurem Irrlicht Verzeichnis in das Verzeichnis der kompilierten Exe-Datei kopieren. Da ihr den GCC –Compiler verwendet braucht ihr die Dll aus dem „irrlicht\\bin\\Win32-gcc“-Verzeichnis. Das Standard Ausgabeverzeichnis des Compilers befindet sich unterhalb euers Projektverzeichnisses im Ordern „Output\\MingW“. In diesem Verzeichnis muss sich auch die zu ladenende Quake-Map befinden wenn ihr keine Pfadangaben machen wollt.

    Das war`s. Wenn ihr noch Fragen oder Hinweise habs schreibt einfach einen Kommentar.


 

Kommentar schreiben:

Kommentare:

Gravatar

Thomas

Hi. Es fehlt, wie bei anderen Dokus auch, dass bei den Linker Parametern-Irrlicht noch dazu muss, sonst kommt der Error irrlicht undefined reference to_imp___ZN3irr12createDeviceENS_5video13E_ DRIVER_TYPEERKNS_4core11dimension2dIiEEjbbbPNS_14IEventReceiverEPKc\'
Gravatar

tom

Dem Thomas recht geben muss, zuvor aber noch die kernel32.dll ins linksys verzeichnis kopieren, sonst findet wocaud.ddl die header nicht !!
Gravatar

Milan Malbasic

Schön beschrieben. All OK. Es gibt auch irrlicht-devpacks für devc++ die das notwendige includierung von selbst erledigt. In beiden Fällen aber ist die irrlicht.dll im selben Verzeichnis, wo die exe ist,rein zugeben. OHNE diese dll startet das Programm NICHT. Daher dieFrage was muss eingestellt werden um diese einfache (unter devc++ problemloss startende) exe auch auf fremden windows Rechnern ohne die dll mitliefern zu müssen, ausführbar zu machen? thx MM
Gravatar

Kayleigh

I actually found this more enteartniing than James Joyce.