Can't create Irrlicht Renderer
Posted: Wed Jun 16, 2010 13:56
Hi!
I've compiled CEGUI with Irrlicht Engine. My first project shows the following error.
main.cpp(18) : error C2664: 'CEGUI::IrrlichtRenderer::IrrlichtRenderer(irr::IrrlichtDevice &)' : cannot convert parameter 1 from 'irr::IrrlichtDevice *' to 'irr::IrrlichtDevice &'
irr::createDevice() returns only a pointer. But CEGUI::IrrlichtRenderer() expects a reference. What to do to resolve this error?
I've compiled CEGUI with Irrlicht Engine. My first project shows the following error.
main.cpp(18) : error C2664: 'CEGUI::IrrlichtRenderer::IrrlichtRenderer(irr::IrrlichtDevice &)' : cannot convert parameter 1 from 'irr::IrrlichtDevice *' to 'irr::IrrlichtDevice &'
Code: Select all
#include "irrlicht.h"
#include "CEGUI.h"
#include "CEGUIIrrlichtRenderer.h"
#include "CEGUIWindowManager.h"
using namespace CEGUI;
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
//using namespace gui;
int main ()
{
IrrlichtDevice* device = createDevice(EDT_SOFTWARE, core::dimension2d<u32>(800, 600), 16, false);
//IrrlichtDevice& dev = device;
CEGUI::IrrlichtRenderer& myRenderer = new IrrlichtRenderer(device);
CEGUI::System::create(myRenderer);
IVideoDriver* driver = device->getVideoDriver();
driver->beginScene(true, true, SColor(255, 255, 0, 0));
ISceneManager* smgr = device->getSceneManager();
WindowManager* wmgr = WindowManager::getSingletonPtr();
Window* myRoot = wmgr->createWindow(CEGUI::String("Default Window"), CEGUI::String("root"));
System::getSingleton().setGUISheet(myRoot);
while(device->run() && driver)
{
if(device->isWindowActive())
{
smgr->drawAll();
CEGUI::System::getSingleton().renderGUI();
driver->endScene();
}
}
device->drop();
return 0;
}
irr::createDevice() returns only a pointer. But CEGUI::IrrlichtRenderer() expects a reference. What to do to resolve this error?