Problem mit Irrlichtengine



  • Hallo, ich versuche mich gerade mit der Irrlicht-Engine und habe gleich beim ersten tutorial ein Problem für dass ich keine Lösung finde 😞

    # include <irrlicht.h>
    
    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() 
    { 
    	IrrlichtDevice *device = 
    	createDevice(EDT_SOFTWARE, dimension2d<s32>(512, 384), 16, 
    	false, false, false, 0); 
    	device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo"); 
    	IVideoDriver* driver = device->getVideoDriver(); 
    	ISceneManager* smgr = device->getSceneManager(); 
    	IGUIEnvironment* guienv = device->getGUIEnvironment(); 
    
    	guienv->addStaticText(L"Hello World! This is the Irrlicht Software engine!", 
    	rect<int>(10,10,200,22), true); 
    
    	IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2"); 
    	IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh ); 
    
    	if (node) 
    	{ 
    	node->setMaterialFlag(EMF_LIGHTING, false); 
    	node->setFrameLoop(0, 310); 
    	node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") ); 
    	} 
    	smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0)); 
    
    	while(device->run()) 
    	{ 
    	driver->beginScene(true, true, SColor(255,100,101,140)); 
    	smgr->drawAll(); guienv->drawAll(); 
    	driver->endScene(); 
    	} 
    	device->drop(); 
    	return 0; 
    }
    

    und der Fehler:

    --------------------Konfiguration: projekt1 - Win32 Debug--------------------
    Linker-Vorgang läuft...
    LIBCD.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
    Debug/projekt1.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.
    
    projekt1.exe - 2 Fehler, 0 Warnung(en)
    

    ich wäre dankbar für jede Hilfe. Denn ich kann mich nicht erinnern eine LIBCD.lib eingebunden zu haben!



  • Ja wenn WinMain nicht aufgelöst ist, versuchs mal nicht als Konsolenprogramm, sondern als GUIProgramm zu linken.
    Ist vllt. auch total falsch, aber bei mir wars bisher immer so.



  • Das Problem ist, dass der Linker annimmt, es handele sich um eine echte Windows (16 Bit?) Anwendung. Daher erwartet er irgendwo eine WinMain Funktion, die er als Startpunkt der .exe markieren kann.

    Sage dem Linker, dass du eine Konsolenanwendung gelinkt haben möchstest.



  • Bei der Konsolenanwendung habe ich einen ganz anderes Problem habe ich gerade festgestellt: da kommt in der Konsole: Press any key to continue. Wenn ich das nun mache beendet er das Programm 😞



  • Was hast du erwartet? Doom4?

    Dann hau doch mal ein paar printf in den Quelltext um zu sehen, wo er aussteigt.



  • Ich habe erwartet, dass er ein Window mit dem Titel "Hello World! - Irrlicht Engine Demo" erstellt und in ihm "Hello World! This is the Irrlicht Software engine!" ausgibt.



  • es sollte ein fenster mit besagtem titel erzeugen und darin das entity "sydney" anzeigen. aber eigentlich sind doch schon bei den irrlicht passende projektdateien vorhanden (vs6, und sogar ausnahmswese mal vs05 und dev!)



  • aah hätte ich ja auch drauf kommen können dort mal zu schauen (ich habe nur die Übersetzung des Helloworld Tutorials gemacht!)

    Aber, wenn ich die Englische Version aufrufe klappt es. Also kann ich auch so den Fehler suchen, indem ich die beiden Projekte vergleiche!

    DANKE



  • SeppSchrot schrieb:

    Was hast du erwartet? Doom4?

    Ich kann nicht mehr! 😃 👍


Anmelden zum Antworten