[GD-General] multiply defined functions in libs
Brought to you by:
vexxed72
From: Brett B. <res...@ga...> - 2004-06-09 03:58:09
|
I have no idea where to ask this quesiton, so I guess general might be okay. Recently I have switched our memory management to Doug Lea's malloc and so far so good. The biggest problem is that I'm trying to drop in and replace the normal ansi calls. This generally works although with different side effects on different platforms. For example, CodeWarrior's linker emits a warning that multiple "malloc" symbols are defined on Win32, but correctly chooses to use mine anyway if I set the link order correctly, and emits no warnings at all on PS2 and GCN and seems to use mine silently (although the original malloc is listed in the linker map, just unused!). On MSVC it is an error and won't build the Win32 version. Since we have 18 target builds across mutliple platforms this is messy. I can't remove the offending libraries without also removing a bunch of needed functions as they are built into a single library. Is there any sort of pragma or some other way to make sure that all references to memory management functions only see my definition? It seems that many people must have done this before.... If not, the only way I see to fix this properly is to build custom release and debug libs from each platform's source and exclude the functions I want to remove <shudder>. Brett |