Getting OgreODE CVS to compile

smudboy

10-01-2008 20:37:35

Here are the steps I took in trying to compile OgreODE:
-Installed OgreSDK Eihort
-Used CVS, got OgreODE
-opened OgreOde_Core, compiled
-commented out line 59 of OgreOdeJoint.h (error C2065: 'dparamERP': undeclared identifier
-commented out line 278 of OgreOdeJoint.cpp (c:\ogreode\src\OgreOdeJoint.cpp(278): error C3861: 'dJointGetBallParam': identifier not found, even with argument-dependent lookup
), replaced it with "return 1;"
-commented out line 273 of OgreOdeJoint.cpp (c:\ogreode\src\OgreOdeJoint.cpp(273): error C3861: 'dJointSetBallParam': identifier not found, even with argument-dependent lookup
)

Got these errors:

OgreOde_Core error LNK2019: unresolved external symbol "public: __thiscall OgreOde::DebugContact::~DebugContact(void)" (??1DebugContact@OgreOde@@QAE@XZ) referenced in function "public: void * __thiscall OgreOde::DebugContact::`scalar deleting destructor'(unsigned int)" (??_GDebugContact@OgreOde@@QAEPAXI@Z)
OgreOde_Core error LNK2019: unresolved external symbol "public: __thiscall OgreOde::DebugContact::DebugContact(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class OgreOde::World *)" (??0DebugContact@OgreOde@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVWorld@1@@Z) referenced in function "public: virtual void __thiscall OgreOde::Geometry::setDebugContact(bool)" (?setDebugContact@Geometry@OgreOde@@UAEX_N@Z)
OgreOde_Core error LNK2019: unresolved external symbol "public: bool __thiscall OgreOde::DebugContact::isEnabled(void)const " (?isEnabled@DebugContact@OgreOde@@QBE_NXZ) referenced in function "public: void __thiscall OgreOde::Geometry::updateDebugContact(void)" (?updateDebugContact@Geometry@OgreOde@@QAEXXZ)
OgreOde_Core error LNK2019: unresolved external symbol "public: void __thiscall OgreOde::DebugContact::setEnabled(bool)" (?setEnabled@DebugContact@OgreOde@@QAEX_N@Z) referenced in function "public: void __thiscall OgreOde::Geometry::updateDebugContact(void)" (?updateDebugContact@Geometry@OgreOde@@QAEXXZ)
OgreOde_Core error LNK2019: unresolved external symbol "public: void __thiscall OgreOde::DebugContact::update(class OgreOde::Contact * const)" (?update@DebugContact@OgreOde@@QAEXQAVContact@2@@Z) referenced in function "public: void __thiscall OgreOde::Geometry::updateDebugContact(void)" (?updateDebugContact@Geometry@OgreOde@@QAEXXZ)


Have I followed the procedure properly? What's my next step?

smudboy

10-01-2008 20:43:05

Oh yes, I'm using VS 2003 and the VC7.1 OgreOde_Core VC++ Project

kiczor

10-01-2008 22:12:31

did you added in project properties library nam to ode.dll or ode.lib check if u have proper namespacing for functions u get errors, thats just guesses, i used VS 3 or 4 years ago :)

i have the same problems compiling OgreOde under windows: dparamERP, and i couldnt solve that....
but the same cvs version of OgreOde goes fine under gentoo with ode 0.9 :)

smudboy

11-01-2008 01:30:38

The project->properties->linker->input of OgreOde_Core already has ode.lib and OgreMain_d.lib setup as Additional Dependencies.

And all I really want to do is get collisions to work...

radsun

11-01-2008 07:50:57

Ok, this is what i doing to make it work:
-install ogre
-get last ogreode and ode (0.9?)
-open tool->options->Proj&Sol->Vc++ directories and add this:
  1. include files:
    E:/Ogre/include
    E:/OgreOde/include
    E:/Ode/include

    libs:
    E:/Ogre/lib
    E:/OgreOde/lib[/list:u]

    Of course change E: to you directory :)

    You shouldn't get any errors like
    error C2065: 'dparamERP': undeclared identifier
    you get them if you not include Ode/include i think :D

    this working with my ogreode but i using SDK version :wink:

smudboy

11-01-2008 14:14:06

Here're my includes:
C:\ode-0.9\include\ode
C:\ode-0.9\include
C:\OgreSDK\include
C:\ogreode\include

And my libs:
C:\ode-0.9\lib
C:\ode-0.9\lib\releasedll
C:\ode-0.9\lib\releaselib
C:\ode-0.9\lib\debuglib
C:\ode-0.9\lib\debugdll

I've tried this both in release and debug mode, and I'm getting the same errors. (And I still have to comment out the lines in OgreOdeJoint.h)

rewb0rn

11-01-2008 14:32:14

what project file to you open when you compile ogreode? try that one that has "source" in its name, afair not all of them work.

smudboy

11-01-2008 14:47:09

I tried both of those, still the same 5 errors.

ekt

13-01-2008 10:55:19

be sure to delete
C:\OgreSDK\include\ode (whole folder)
C:\OgreSDK\lib\ode.lib

it's an old ode version installed by OgreSDK used in some ogre demos.

smudboy

14-01-2008 00:21:04

Whoa, when I did that, I got a whole bunch of other scary errors (and non-ogreode Ogre leated programs wouldn't compile, either.)

:S

rewb0rn

14-01-2008 08:04:46

You shouldnt, I guess ekt is right and you compile against that version. Make sure you link to the right ode.lib, e.g. by adding

#pragma comment(lib, "../../ode/lib/debug/ode.lib")

to your project, where that path leads to the latest version.
Thats the problem when you add all those paths to the standard directories of vc. Better add those paths per project only, so your ogre programs that use the old ode version will still work.

rvnth

01-02-2008 11:04:57

I ve tried compiling my ogreode with ogre (1.4.6) and ode v0.9 in VS2005

It gets compiled in debug config.
But i end up with these error whn trying to compile in release configuraton.

1> Creating library ..\..\lib\Release/OgreOde_Core.lib and object ..\..\lib\Release/OgreOde_Core.exp
1>LINK : fatal error LNK1561: entry point must be defined
1>Build log was saved at "file://e:\Ogre\ogreode\obj\Release\BuildLog.htm"
1>OgreOde_Core - 1 error(s), 0 warning(s)


Wht cud hav gone wrong :S

rewb0rn

01-02-2008 11:40:58

Have you read my tutorial? Its new:
http://www.ogre3d.org/wiki/index.php/Compile_OgreOde

rvnth

01-02-2008 17:05:52

I followed ur tutorial.. I cudnt find the line to b commented in ogremovableobject.h
still getting the same error while linking

1>------ Build started: Project: OgreOde_Core, Configuration: Release Win32 ------
1>Linking...
1>OgreOdeBody.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1> Creating library ..\..\lib\Release/OgreOde_Core.lib and object ..\..\lib\Release/OgreOde_Core.exp
1>LINK : fatal error LNK1561: entry point must be defined
1>Build log was saved at "file://e:\Ogre\ogreode\obj\Release\BuildLog.htm"
1>OgreOde_Core - 1 error(s), 0 warning(s)