Helpz0r :)

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
Kirwyd

Helpz0r :)

Post by Kirwyd »

Hiya, I love the Irrlicht engine, it is soo much better than CS or OGRE, IMO :)) I got 0.3 Irrlicht.dll to compile a bit ago, just before you released 0.4, I downloaded it today, set up my ide (msvs 6.0) and tried a compile from the source, here are the compiler results:

Code: Select all

--------------------Configuration: Irrlicht - Win32 Debug--------------------
Linking...
   Creating library ..\Debug/Irrlicht.lib and object ..\Debug/Irrlicht.exp
CGUIEnvironment.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::gui::CGUIInOutFader::CGUIInOutFader(class irr::gui::IGUIEnvironment *,class irr::gui::IGUIElement *,int,class irr::core::rect<int>)" (??0CGUIInOutFader@gui@irr@
@QAE@PAVIGUIEnvironment@12@PAVIGUIElement@12@HV?$rect@H@core@2@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CMeshManipulator::CMeshManipulator(void)" (??0CMeshManipulator@scene@irr@@QAE@XZ)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CWaterSurfaceSceneNode::CWaterSurfaceSceneNode(float,float,float,class irr::scene::IMesh *,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *
,int,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CWaterSurfaceSceneNode@scene@irr@@QAE@MMMPAVIMesh@12@PAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@3
3@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CParticleSystemSceneNode::CParticleSystemSceneNode(bool,class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int,class irr::core::vector3d<floa
t> const &,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &)" (??0CParticleSystemSceneNode@scene@irr@@QAE@_NPAVISceneNode@12@PAVISceneManager@12@HABV?$vector3d@M@core@2@33@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CDummyTransformationSceneNode::CDummyTransformationSceneNode(class irr::scene::ISceneNode *,class irr::scene::ISceneManager *,int)" (??0CDummyTransformatio
nSceneNode@scene@irr@@QAE@PAVISceneNode@12@PAVISceneManager@12@H@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSceneNodeAnimatorDelete::CSceneNodeAnimatorDelete(class irr::scene::ISceneManager *,unsigned int)" (??0CSceneNodeAnimatorDelete@scene@irr@@QAE@PAVISceneMa
nager@12@I@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSceneNodeAnimatorCollisionResponse::CSceneNodeAnimatorCollisionResponse(class irr::scene::ISceneManager *,class irr::scene::ITriangleSelector *,class irr:
:scene::ISceneNode *,class irr::core::vector3d<float> const &,class irr::core::vector3d<float> const &,float,class irr::core::vector3d<float> const &,float)" (??0CSceneNodeAnimatorCollisionResponse@scene@irr@@QAE@PAVISceneManager@12@PAVITriangleSele
ctor@12@PAVISceneNode@12@ABV?$vector3d@M@core@2@3M3M@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CTriangleSelector::CTriangleSelector(class irr::scene::IMesh *,class irr::scene::ISceneNode *)" (??0CTriangleSelector@scene@irr@@QAE@PAVIMesh@12@PAVISceneN
ode@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CTriangleBBSelector::CTriangleBBSelector(class irr::scene::ISceneNode *)" (??0CTriangleBBSelector@scene@irr@@QAE@PAVISceneNode@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::COctTreeTriangleSelector::COctTreeTriangleSelector(class irr::scene::IMesh *,class irr::scene::ISceneNode *,int)" (??0COctTreeTriangleSelector@scene@irr@@Q
AE@PAVIMesh@12@PAVISceneNode@12@H@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CMetaTriangleSelector::CMetaTriangleSelector(void)" (??0CMetaTriangleSelector@scene@irr@@QAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual unsigned short const * __thiscall irr::CIrrDeviceStub::getVersion(void)" (?getVersion@CIrrDeviceStub@irr@@UAEPBGXZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::ITimer * __thiscall irr::CIrrDeviceStub::getTimer(void)" (?getTimer@CIrrDeviceStub@irr@@UAEPAVITimer@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::gui::ICursorControl * __thiscall irr::CIrrDeviceStub::getCursorControl(void)" (?getCursorControl@CIrrDeviceStub@irr@@UAEPAVICursorControl@gui@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::scene::ISceneManager * __thiscall irr::CIrrDeviceStub::getSceneManager(void)" (?getSceneManager@CIrrDeviceStub@irr@@UAEPAVISceneManager@scene@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::gui::IGUIEnvironment * __thiscall irr::CIrrDeviceStub::getGUIEnvironment(void)" (?getGUIEnvironment@CIrrDeviceStub@irr@@UAEPAVIGUIEnvironment@gui@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::io::IFileSystem * __thiscall irr::CIrrDeviceStub::getFileSystem(void)" (?getFileSystem@CIrrDeviceStub@irr@@UAEPAVIFileSystem@io@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual class irr::video::IVideoDriver * __thiscall irr::CIrrDeviceStub::getVideoDriver(void)" (?getVideoDriver@CIrrDeviceStub@irr@@UAEPAVIVideoDriver@video@2@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall irr::CIrrDeviceStub::~CIrrDeviceStub(void)" (??1CIrrDeviceStub@irr@@UAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "protected: void __thiscall irr::CIrrDeviceStub::createGUIAndScene(class irr::IEventReceiver *)" (?createGUIAndScene@CIrrDeviceStub@irr@@IAEXPAVIEventReceiver@2@@Z)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::CIrrDeviceStub::CIrrDeviceStub(void)" (??0CIrrDeviceStub@irr@@QAE@XZ)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: void __thiscall irr::video::CVideoModeList::setDesktop(int,class irr::core::dimension2d<int> const &)" (?setDesktop@CVideoModeList@video@irr@@QAEXHABV?$dimension2d@H@core@3@@Z)
CIrrDeviceWin32.obj : error LNK2001: unresolved external symbol "public: void __thiscall irr::video::CVideoModeList::addMode(class irr::core::dimension2d<int> const &,int)" (?addMode@CVideoModeList@video@irr@@QAEXABV?$dimension2d@H@core@3@H@Z)
..\Debug/Irrlicht.dll : fatal error LNK1120: 23 unresolved externals
Error executing link.exe.

Irrlicht.dll - 24 error(s), 0 warning(s)
I have a GeForce FX 5200 gfx card, and a pretty decent computer :)
All the tuts from 0.3 worked along with the compile from src. Any help would be excellent, kthx bai :)
WhytWulf
Posts: 51
Joined: Mon Sep 08, 2003 11:14 am
Location: Australia, Tamworth, NSW
Contact:

Post by WhytWulf »

Hi,
A solution has been found in this thread, http://irrlicht.sourceforge.net/phpBB2/ ... c.php?t=77 just add all source files to the project. It will fix the linker errors..
Kirwyd

sowwie

Post by Kirwyd »

I shoulda searched the forum, forgive me :-[
Thx though ;)
Kirwyd

Post by Kirwyd »

Code: Select all

CParticleSystemSceneNode.cpp
c:\documents and settings\thomas\desktop\irrlicht-0.4\source\source\cparticlesystemscenenode.cpp(341) : error C2374: 'i' : redefinition; multiple initialization
        c:\documents and settings\thomas\desktop\irrlicht-0.4\source\source\cparticlesystemscenenode.cpp(328) : see declaration of 'i'
I saw the same kind of error in that link you gave me but I have no idea what case foo is :-\[/code]
WhytWulf
Posts: 51
Joined: Mon Sep 08, 2003 11:14 am
Location: Australia, Tamworth, NSW
Contact:

Post by WhytWulf »

Where those case errors are put in the curly braces EG:
case BLEH:
{
//whatever is does here
}

that should fix those errors. I also got the "error C2374: 'i' : redefinition; multiple initialization " error too. to fix that I made the following change to cparticlesystemnode.cpp

Code: Select all

void CParticleSystemSceneNode::reallocateBuffers()
{
	u32 i;  //my change here
	if (Particles.size() * 4 > Vertices.size() ||
        Particles.size() * 6 > Indices.size())
	{
		s32 oldSize = Vertices.size();
		Vertices.set_used(Particles.size() * 4);

		// fill remaining vertices
		for (i=oldSize; i<Vertices.size(); i+=4) //change here
		{
			Vertices[0+i].TCoords.set(0.0f, 0.0f);
			Vertices[1+i].TCoords.set(0.0f, 1.0f);
			Vertices[2+i].TCoords.set(1.0f, 1.0f);
			Vertices[3+i].TCoords.set(1.0f, 0.0f);
		}

		// fill remaining indices
		s32 oldIdxSize = Indices.size();
		s32 oldvertices = oldSize;
		Indices.set_used(Particles.size() * 6);
		
		for (i=oldIdxSize; i<Indices.size(); i+=6) //change here
		{
			Indices[0+i] = 0+oldvertices;
			Indices[1+i] = 2+oldvertices;
			Indices[2+i] = 1+oldvertices;
			Indices[3+i] = 0+oldvertices;
			Indices[4+i] = 3+oldvertices;
			Indices[5+i] = 2+oldvertices;
			oldvertices += 4;
		}
	}
}
that fixed all my problems.. well okay all my problems realted to compiling the source :)
Kirwyd

Post by Kirwyd »

Thx, works great now.
Post Reply