Error with OgreODE

Predat0R

24-10-2006 07:54:36

I use Ogre 1.2.1 and ODE 0.7

I install OgreOde_Source_Setup.exe. (http://tuan.kuranes.free.fr/Ogre.html#OgreOde)
Next in OgreODE I create ode-0.7
Ode-0.7: (files from ODE-0.7)
- include
- lib

Next ode/OPCODE/Opcode.dsp
Now I copy OPCODE_D.lib and OPCODE.lib to ode-0.7\lib

Next …/scripts/VC7.1/OgreOde.vcproj
OgreOde property:

..\..\include;..\..\ode-0.7\include;..\..\..\OGRE\ogrenew\OgreMain\include

"..\..\..\OGRE\ogrenew\OgreMain\lib\$(ConfigurationName)";"..\..\ode-0.7\lib"

Build – rebuld solution

1) OgreOde fatal error C1083: Cannot open source file: '\Disk_e\Dev\OgreODE\src\OgreOdeVehicle.cpp': No such file or directory

2) OgreOde fatal error C1083: Cannot open source file: '\Disk_e\Dev\OgreODE\src\OgreOdeMeshInformer.cpp': No such file or directory

I delete it’s files from project
1) from source files delete OgreOdeVehicle.cpp and OgreOdeMeshInformer.cpp
2) from header files delete OgreOdeVehicle.h and OgreOdeMeshInformer.h

Now Build – Rebuild Solution (Debug)

------ Rebuild All started: Project: OgreOde, Configuration: Debug Win32 ------

Deleting intermediate files and output files for project 'OgreOde', configuration 'Debug|Win32'.
Compiling...
OgreOdeWorld.cpp
OgreOdeUtility.cpp
OgreOdeStepper.cpp
OgreOdeSpace.cpp
OgreOdeMass.cpp
OgreOdeMaintainedList.cpp
OgreOdeJoint.cpp
OgreOdeGeometry.cpp
OgreOdeDebugObject.cpp
OgreOdeCollision.cpp
OgreOdeBody.cpp
Linking...

OgreOde error LNK2019: unresolved external symbol _dCreateCapsule referenced in function "public: __thiscall OgreOde::CapsuleGeometry::CapsuleGeometry(float,float,class OgreOde::Space *)"

tuan kuranes

24-10-2006 08:33:25

As said in sticky post, Maintainer (me) only has VC8.

Other project files need to be adapted from vc8 project files.

Open vc8 project files with notepad, look for file listed for compilation, and make sure your project files have exaclty same files.
You can just remove all files from project and add all files in respective directory inside.

hints
1) OgreOdeVehicle.cpp is now in prefab
2) OgreOdeMeshInformer.cpp is now OgreOdEntityInformer.cpp
3) you're not linking to your ode-0.7 but against ode lib shipped with OGRE SDK. remove thh latter or change the link order in project settings

Predat0R

24-10-2006 10:37:47

When I do how you say => I have next error:
I install OgreOde_Source_Setup.exe And in OgreOde_core_source.vcproj
I change Version="8,00" on Version="7.10"
I don't add to OgreODE ode-0.7 !
Now I have next error:

OgreOde_Core error LNK2019: unresolved external symbol _dCreateCapsule referenced in function "public: __thiscall OgreOde::CapsuleGeometry::CapsuleGeometry(float,float,class OgreOde::Space *)"

tuan kuranes

24-10-2006 10:57:38

As said above, you're not linking against the good ODE :

ODE 0.7 has dCreateCapsule
ODE 0.5 shipped with OGRE doesn't haved CreateCapsule hence the link error.

Check your link path order in project settings.

Predat0R

27-10-2006 08:19:28

OgreOde 1.2.0. -work =)))))
But I have next error in demo:
…\OgreOde 1.2.0\include\OgreOdeGeometry.h(24): error C2065: 'dCapsuleClass' : undeclared identifier
…\ OgreOde 1.2.0\include\OgreOdeGeometry.h(29): error C2065: 'dHeightfieldClass' : undeclared identifier
…\ OgreOde 1.2.0\include\OgreOdeGeometry.h(30): error C2065: 'dConvexClass' : undeclared identifier

???

tuan kuranes

27-10-2006 13:43:17

same problem but in demo... change the include order to include first ODe 0.7

Predat0R

27-10-2006 15:37:26

I change in option project ode-0.5 on 0de-0.7
but

…\OgreOde 1.2.0\include\OgreOdeGeometry.h(24): error C2065: 'dCapsuleClass' : undeclared identifier
…\ OgreOde 1.2.0\include\OgreOdeGeometry.h(29): error C2065: 'dHeightfieldClass' : undeclared identifier
…\ OgreOde 1.2.0\include\OgreOdeGeometry.h(30): error C2065: 'dConvexClass' : undeclared identifier

tuan kuranes

27-10-2006 15:39:22

obviously not, otherwise there woudln't be that error.
Change it in DEMO projects settings too.

Predat0R

27-10-2006 16:32:52

I change in
Project/demo....Properties


..\..\include;..\..\..\..\..\OGRE\ogrenew\OgreMain\include;..\..\..\..\include;..\..\..\..\ode-0.7\include;..\..\..\..\..\OGRE\ogrenew\Samples\Common\include;..\..\..\..\prefab\include

Predat0R

28-10-2006 05:25:54

???

Predat0R

28-10-2006 05:26:35

help please me ?

tuan kuranes

30-10-2006 08:15:53

answer didn't changed.

You have to check all include order in each project setting, change them to make sure it use the correct ODE include.