Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / ODE and DarkGDK

Author
Message
Pixel Perfect
17
Years of Service
User Offline
Joined: 21st Feb 2007
Location: UK
Posted: 11th Sep 2007 21:50
I have been trying to link in the DBPro ODE DLL code to use as a library of physics functions with DarkGDK using Visual C++ Express and I seem to be having problems.

I have the odephysics.cpp file included in my project with paths set up to the DarkGDK include directories and both the DBODE and ODE Source Code Includes. It's also pointing to the ODE Source Code releaseLib directory.

The build type is set to /MT.

Everything compiles ok but I get the following linking errors which I cannot seem to get rid of:

[1>ODEPhysics.obj : error LNK2001: unresolved external symbol "struct sObject * __cdecl GetObjectW(int)" (?GetObjectW@@YAPAUsObject@@H@Z)

1>ode.lib(convex.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_String_base::_Xran(void)const " (?_Xran@_String_base@std@@QBEXXZ)

1>ode.lib(convex.obj) : error LNK2001: unresolved external symbol "public: void __thiscall std::_String_base::_Xlen(void)const " (?_Xlen@_String_base@std@@QBEXXZ)

1>C:\Game Develpment\DarkGDK Code\MyWorld\Release\MyWorld.exe : fatal error LNK1120: 3 unresolved externals
]

Basically 3 unresolved externals! Anyone come accross this or got any ideas?

No matter how good your code is, someone will improve on it
APEXnow
Retired Moderator
21
Years of Service
User Offline
Joined: 15th Apr 2003
Location: On a park bench
Posted: 11th Sep 2007 23:11
Pixel, can you also include the DBOData.h file that's located in the DBO Data folder of your DGDK includes. sObject is a structure that's defined in this header file.

Paul.

Pixel Perfect
17
Years of Service
User Offline
Joined: 21st Feb 2007
Location: UK
Posted: 12th Sep 2007 00:43
Thanks APEXnow, I tried including the DBOData.h file but it made no difference. I think the compiler is looking for the function GetObjectW (GetObject is #defined as GetObjectW) externally and not finding it! I don't think the issue is with the structure definition. I seem to think GetObjectW is one of the Windows GDI functions.

No matter how good your code is, someone will improve on it
Pixel Perfect
17
Years of Service
User Offline
Joined: 21st Feb 2007
Location: UK
Posted: 13th Sep 2007 00:20
I have managed to resolve the GetObjectW unresolved external which just leaves the two _string_base class functions which I notice as reported as being __thiscall functions, persumably in the ode.lib file. Interestingly, the only place I can find these defined is in the VC++ 2005 VC Include directory in the XSTRING file which use a macro to set the function calling convention according to the compilation method and that will generate __CDECL functions with my settings. I tried hard coding this to __thiscall but that just produces two more unresolved externals for the same set of functions in odephysics.obj! Does anyone know what's going on here ? I need help please, I'm getting way out of my depth and need to get ODE physics working! Thanks

No matter how good your code is, someone will improve on it
Red Ocktober
20
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 21st Sep 2007 14:51 Edited at: 21st Sep 2007 14:53
hey Pixel... any progress with this... a new thread on integrating physics with the gdk has popped up, and since i'm using ode in another project (3impact, though it's already integrated), this may be the route i might take for dbpro gdk stuff...

here's the link to the new topic... http://forum.thegamecreators.com/?m=forum_view&t=114688&b=22

(actually, it's right in the same forum )

please join in...

--Mike
unitech
17
Years of Service
User Offline
Joined: 27th Jun 2007
Location:
Posted: 21st Sep 2007 15:35
physics in a game engine just makes sense, I'm all for a try. Plus a challenge is always good.

Login to post a reply

Server time is: 2024-09-29 03:24:08
Your offset time is: 2024-09-29 03:24:08