Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Problema Irrlicht
Forum - C/C++ - Problema Irrlicht

Avatar
Riki94 (Normal User)
Pro


Messaggi: 93
Iscritto: 30/07/2009

Segnala al moderatore
Postato alle 22:03
Venerdì, 30/07/2010
Sembrerà un problema banale, ma cercando di fare il primo tutorial di irrlicht non funziona...
questo il tutorial: http://irrlicht.sourceforge.net/docu/example001.html
questo il mio codice:
Codice sorgente - presumibilmente C++

  1. #include <C:\Documents and Settings\Riki\Desktop\irrlicht-1.7.1\include\irrlicht.h>
  2. using namespace irr;
  3. using namespace core;
  4. using namespace scene;
  5. using namespace video;
  6. using namespace io;
  7. using namespace gui;
  8. #ifdef _IRR_WINDOWS_
  9. #pragma comment(lib, "Irrlicht.lib")
  10. #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
  11. #endif
  12. int main()
  13. {
  14.     IrrlichtDevice *device =
  15.                 createDevice( video::EDT_SOFTWARE, dimension2d<u32>(640, 480), 16,
  16.                         false, false, false, 0);
  17.     if (!device)
  18.     return 1;
  19.     device->setWindowCaption(L"Ciao Mondo!!!");
  20.     IVideoDriver* driver=device->getVideoDriver();
  21.     ISceneManager* smgr=device->getSceneManager();
  22.     IGUIEnvironment* guienv=device->getGUIEnvironment();
  23.     guienv->addStaticText(L"Ciao Mondo!!!",rect<s32>(10,10,260,22),true);
  24.     IAnimatedMesh* mesh=smgr->getMesh("C:\Documents and Settings\Riki\Desktop\irrlicht-1.7.1\media\sydney.md2");
  25.       IAnimatedMeshSceneNode* node=smgr->addAnimatedMeshSceneNode(mesh);
  26.       if (node)
  27.         {
  28.                 node->setMaterialFlag(EMF_LIGHTING, false);
  29.                 node->setMD2Animation(scene::EMAT_STAND);
  30.                 node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
  31.         }
  32.     smgr->addCameraSceneNode(0,vector3df(0,30,-40),vector3df(0,5,0));
  33.     while (device->run())
  34.     driver->beginScene(true,true,SColor(255,100,101,240));
  35.     smgr->drawAll();
  36.     guienv->drawAll();
  37.     driver->endScene();
  38.  
  39.  
  40. }


questo l'errore: undefined reference to '_imp_createDevice'


so che dovrebbe essere un errore del linker, ma avendo incluso irrlicht.h non capisco quale sia il problema... :-?:-?:-?
Ringrazio in anticipo chiunque saprà darmi una mano...
IDE: code::blocks 10.05

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 9:53
Sabato, 31/07/2010
come dici tu è un problema di linker, l'header con i prototipi non c'entra però, devi linkare le librerie di Irrlicht ( file .lib su windows )
EDIT: scusa ho visto adesso il pragma comment... forse hai codeblocks con mingw, per questo non va... oh cambi il compilatore con visual studio o vai dalle impostazioni del progetto e linki quelle due librerie

Ultima modifica effettuata da lumo il 31/07/2010 alle 9:59
PM Quote
Avatar
Riki94 (Normal User)
Pro


Messaggi: 93
Iscritto: 30/07/2009

Segnala al moderatore
Postato alle 15:08
Sabato, 31/07/2010
grazie mille.. risolto linkando una libreria... :k:

PM Quote