nazgul1313 Temat założony przez niniejszego użytkownika |
[Irrlicht, C++] error: invalid initialization of reference of type 'const irr::core::dimension2d<unsigned int>& » 2013-05-24 14:29:39 Mam problem z pierwszym programem z kursu plik nie chce się otworzyć bo pokazuje mi błąd w tekście: C:\Users\Nazgul\Desktop\Game\main.cpp:71: error: invalid initialization of reference of type 'const irr::core::dimension2d<unsigned int>&' from expression of type 'irr::core::dimension2d<int>' C:\Users\Nazgul\Desktop\irrlicht-1.8\include/irrlicht.h:324: error: in passing argument 2 of 'irr::IrrlichtDevice* irr::createDevice(irr::video::E_DRIVER_TYPE, const irr::core::dimension2d<unsigned int>&, irr::u32, bool, bool, bool, irr::IEventReceiver*)' O co chodzi? |
|
pekfos |
» 2013-05-24 14:49:51 Zamień irr::core::dimension2d < s32 > na irr::core::dimension2d < u32 > . |
|
nazgul1313 Temat założony przez niniejszego użytkownika |
» 2013-05-24 18:21:20 Tym razem pojawiło się to: C:/Users/Nazgul/Desktop/irrlicht-1.8/include/IReferenceCounted.h:116: multiple definition of `main' obj\Debug\main.o:C:/Users/Nazgul/Desktop/Game/main.cpp:46: first defined here[code]
|
|
megatron |
» 2013-05-24 18:55:58 daj kod to ci pokaże co masz źle... |
|
nazgul1313 Temat założony przez niniejszego użytkownika |
» 2013-05-24 20:03:16
#include <irrlicht.h>
using namespace irr;
using namespace core; using namespace scene; using namespace video; using namespace io; using namespace gui;
int main( int argc, char ** argv ) { <--tu pokazuje b ł ą d IrrlichtDevice * device = createDevice( EDT_SOFTWARE, dimension2d < u32 >( 640, 480 ), 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 renderer!", 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( 0, 200, 200, 200 ) ); smgr->drawAll(); guienv->drawAll(); driver->endScene(); } device->drop(); return 0; }
i gdy odpalam aplikacje otwiera ten plik (IReferenceCounted.h) i pokazuje błąd w nim
#ifndef __I_IREFERENCE_COUNTED_H_INCLUDED__ #define __I_IREFERENCE_COUNTED_H_INCLUDED__
#include "irrTypes.h"
namespace irr { class IReferenceCounted { public: IReferenceCounted() : DebugName( 0 ) , ReferenceCounter( 1 ) { } virtual ~IReferenceCounted() { } void grab() const { ++ReferenceCounter; } bool drop() const { _IRR_DEBUG_BREAK_IF( ReferenceCounter <= 0 ) --ReferenceCounter; if( !ReferenceCounter ) { delete this; return true; } return false; } s32 getReferenceCount() const { return ReferenceCounter; } const c8 * getDebugName() const { return DebugName; } protected: void setDebugName( const c8 * newName ) { DebugName = newName; } private: const c8 * DebugName; mutable s32 ReferenceCounter; }; }
#endif
|
|
megatron |
» 2013-05-24 20:10:12 kod jest dobry więc problem leży gdzieś głębiej. może to być kompilator albo jego ustawienia |
|
nazgul1313 Temat założony przez niniejszego użytkownika |
» 2013-05-24 21:51:50 Czyli co trzeba zrobić? |
|
megatron |
» 2013-05-25 09:20:24 Jaki kompilator używasz??? Na to wskazuje, że kompilator szwankuje, więc na początek polecam odinstalować i zaistalować jeszcze raz. A jak nie pomoze to ściągnij inną wersję. Nie ściągaj do irrlicht TDM ponieważ irrlicht świetnie działa przy Mingw. I niewiem jaką masz wersję irrlicht'a ale najlepiej mieć najnowszą 'irrlicht 1.8'. I powiedz mi tż jakie IDE używasz. Jeśli to co piszę, nie ma sensu dla kogoś to proszę pisać. |
|
« 1 » 2 |