Yet another build error - Eihort (1.4.9) ODE 1.10

amzira

19-02-2009 18:41:20

Hello,

I am trying to build OgreOde_Core and I come up with this 1 and hopefully last error :

c:\ogresdk\ogreode\src\ogreodedebugcontact.cpp(48) : error C2259: 'OgreOde::DebugContactText' : cannot instantiate abstract class
due to following members:
'const Ogre::Quaternion &Ogre::Renderable::getWorldOrientation(void) const' : is abstract
c:\ogresdk\include\ogrerenderable.h(95) : see declaration of 'Ogre::Renderable::getWorldOrientation'
'const Ogre::Vector3 &Ogre::Renderable::getWorldPosition(void) const' : is abstract
c:\ogresdk\include\ogrerenderable.h(101) : see declaration of 'Ogre::Renderable::getWorldPosition'


I have changed the Renderables thing in 3 differentfiles - tutorial is pretty outdated but I don't think I know enough to fix this error on my own. Anyone has encountered it before?

Many thanks in advance!
¬m

dermont

19-02-2009 21:21:55

For 1.4.9 try the mod for getWorldOrientation/ OgreOdeDebugContact from the following link to see if it resolves your build problem.

viewtopic.php?f=7&t=8645

amzira

20-02-2009 02:33:35

Thanks, that helped to overcome the problem. I haven't changed anythign in any src file so far.
I cannot find the code to change in OgreOdeDebugContact.cpp as you suggest in the thread.
However, now I get the linker errors that are desribed in the first post of this thread: viewtopic.php?f=7&t=8255

Example of my errors :

error LNK2001: unresolved external symbol "public: virtual __thiscall OgreOde::TriangleMeshData::~TriangleMeshData(void)" (??1TriangleMeshData@OgreOde@@UAE@XZ)
OgreOdeEntityInformer.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall OgreOde::TriangleMeshData::~TriangleMeshData(void)" (??1TriangleMeshData@OgreOde@@UAE@XZ)
OgreOdeDebugContact.obj : error LNK2001: unresolved external symbol "public: virtual class Ogre::Quaternion const & __thiscall OgreOde::DebugContactText::getWorldOrientation(void)const " (?getWorldOrientation@DebugContactText@OgreOde@@UBEABVQuaternion@Ogre@@XZ)
OgreOdeDebugContact.obj : error LNK2001: unresolved external symbol "public: virtual class Ogre::Vector3 const & __thiscall OgreOde::DebugContactText::getWorldPosition(void)const " (?getWorldPosition@DebugContactText@OgreOde@@UBEABVVector3@Ogre@@XZ)
OgreOdeEntityInformer.obj : error LNK2019: unresolved external symbol "public: void __thiscall


Any ideas? (The getWordOrientation@... might have to do with me not changing anything in OgreOdeDebugContact.cpp?)

Thanks
¬m

dermont

20-02-2009 04:03:19

The OgreOdeDebugContact.cpp code should be lines 557 - 568:

http://ogreaddons.svn.sourceforge.net/v ... iew=markup

For the other error you may have to add the following files to your OgreOde_Core project:

OgreOdeTriangleMeshData.cpp
OgreOdeTriangleMeshDataManager.cpp
OgreOdeTriangleMeshData.h
OgreOdeTriangleMeshDataManager.h

amzira

20-02-2009 15:40:13

Many thanks. I have done some progress correcting minor mistaked here and there.
Now, I get the error "cannot open plane.mesh." I do not have plane.mesh on my model folder.
I substituted it with cube.mesh (supposing that I could fill the plane with many cubes) and now I get the error
Material '1-Default' not found in StaticGeometry::MaterialBucket::Build.

Few, seems difficult to get ODE to work. Would it be bettter to upgrade to Ogre 1.6?

Many thanks for any input.
¬m

dermont

20-02-2009 16:07:55

It probably would be better for you to upgrade to Ogre 1.6. First try updating your resources.cfg file to point the ogreode media, plane.mesh should be in ogreode\demos\Media. Try adding the following at the end of your resources.cfg substituting <Your Path To> with your ogreode path.

[OgreOde]
FileSystem=<Your Path To>\demos\Media