Problem when recompiling Irrlicht with Acki's IrrExtensions

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
Mux
Posts: 56
Joined: Mon Feb 26, 2007 12:25 pm
Location: Stockholm

Problem when recompiling Irrlicht with Acki's IrrExtensions

Post by Mux »

I'm trying to recompile Irrlicht 1.7.3 with some of the features from Acki's IrrExtensions (IGridSceneNode, IDecalSceneNode, IGUIProgressBar, IProgressbasSceneNode). Since I'm using Visual Studio 2008 I can't use the Extensions built in recompile function. I compile the Irrlicht solution without support for DirectX 8 and it went well until the compiler reached CSceneManager.cpp where it gets an error on the following code:

Code: Select all

//! Get a skinned mesh, which is not available as header-only code
ISkinnedMesh* CSceneManager::createSkinnedMesh()
{
#ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
    return new CSkinnedMesh();
#else
    return 0;
#endif
}
The error is:

Code: Select all

.\CSceneManager.cpp(2587) : error C2512: 'irr::scene::CSkinnedMesh' : no appropriate default constructor available
I've been trying to solve this for a day now, everything seems ok in the CSkinnedMesh-files and if I recompile Irrlicht without the extensions everything is working fine and it also works if I disable the skinned mesh support, but I would like to keep that feature active. Any ideas on how to solve this problem is appreciated.
It'll only take a minute or two to debug this code...
gerdb
Posts: 194
Joined: Wed Dec 02, 2009 8:21 pm
Location: Dresden, Germany

Re: Problem when recompiling Irrlicht with Acki's IrrExtensi

Post by gerdb »

the error suggest that there is a member that has no default constructor, CSkinnedMesh itself seems fine.

i looked at the code and found some structs in ISkinnedMesh that have no default constructor, but normally there will be one generated by compiler,

dont know if it is a issue with VS2008 but i had no such error with gcc

maybe there is a #pragma disable switch for that C2512, dont know but i found no member that could cause such thing, maybe there is a copy ctr or operator= missing,
so VS cannot generate a default ctr.

very odd

EDIT:

- maybe SWeight that has no null-init for bool* Moved (whatever a pointer to a bool can be)
- maybe try explicit keyword for CSkinnedMesh();
Last edited by gerdb on Sat Jul 21, 2012 7:30 pm, edited 1 time in total.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: Problem when recompiling Irrlicht with Acki's IrrExtensi

Post by CuteAlien »

Do these extensions change Irrlicht code itself? Does it change anything in CSkinnedMesh?
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Mux
Posts: 56
Joined: Mon Feb 26, 2007 12:25 pm
Location: Stockholm

Re: Problem when recompiling Irrlicht with Acki's IrrExtensi

Post by Mux »

@gerdb: I've tried with explicit but that didn't help.
@CuteAlien: Yes the extensions changes Irrlicht code and no the ones that I have enabled does not change anything in CSkinnedMesh.
It'll only take a minute or two to debug this code...
Mux
Posts: 56
Joined: Mon Feb 26, 2007 12:25 pm
Location: Stockholm

Re: Problem when recompiling Irrlicht with Acki's IrrExtensi

Post by Mux »

I got it working now with some trial and error:
In CAnimatedMeshSceneNode.cpp i found an include statement for CSkinnedMesh.h, I moved this line to the .h-file and that solved the problem.
It'll only take a minute or two to debug this code...
Post Reply