Game Development Community

Need help linking the FbxSDK into TGEA

by Manoel Neto · in Torque Game Engine Advanced · 01/05/2007 (5:04 am) · 4 replies

Hi,

I'm working on a custom object which loads FBX files. I hit the first roadblock while trying to link the lastest FBX SDK (11.2006) into TGEA:

Torque Shader Engine error LNK2005: "void * __cdecl operator new(unsigned int,void *)" (??2@YAPAXIPAX@Z) already defined in winMemory.obj

Torque Shader Engine fatal error LNK1169: one or more multiply defined symbols found

I did some searches on the forum, and it looks like a STL issue (I think the FBX SDK libraries use STL), and that disabling the torque memory manager should fix the issue, but I'd really like to avoid that (losing the memory profiling will hurt a lot). Is there a way to get around this issue without killing the memory manager?

#1
01/05/2007 (5:39 am)
I commented out this code from winMemory.cpp and got it to compile:

void* FN_CDECL operator new(dsize_t, void* ptr)
{
   return (ptr);
}

But I have a bad feeling about this... what sort of problems will it cause?
#2
01/06/2007 (2:33 am)
Try to look around for disabling the Torque memory manager.

Problem is, that the Torque memory manager is overriding the global new(), so using things like STL is not possible without a few hacks!

You can also search for STL and STL fix. Different ways to solve this elegantly
#3
01/06/2007 (10:56 am)
That hack I did seems to be working, Torque hasn't exploded on me, yet. It looks like the memory manager is working and the FBX SDK came to work after that. Not sure about long term problems.

I should've gone the FBX route months ago. It offers loads of possibilities.
#4
01/07/2007 (12:52 pm)
Hmm... wonder if that IS a fix.. or if you really did something bad.