At 23:51 2002-10-26 -0400, you wrote:
Hi,
    I've got two different versions of a static library that I licensed from
another company, and I'm trying to find a way to call into both of them from
a single Palm OS application. Directly linking both of them won't work,
since their function names are identical and I end up only linking
successfully to one or the other. I've also tried compiling each of them
into its own shared library (with some wrapper code for each function), but
for some reason this seems to make it impossible for them to access their
static data, so as soon as one of them tries to load its data files it ends
up calling DmFindDatabase with a null string for a filename;
This problem is likely due to compiling the libraries without the essential "PC-relative strings" and "PC-relative const data" options. However, if you can't recompile the static libraries, you'll be out of luck.

Does anyone know of any way that I can actually use these two libraries
at the same time without creating two different versions of my application?
Is there some way to get rid of that static data problem in my shared
libraries? Or is there a way I can successfully pull off the hex editing
trick? I'm using CodeWarrior now, but can switch to prc-tools if necessary
to make this work...
I don't know of any ways to get the linker to prefix symbols from a particular static library. This could be a useful feature, and I'll add it to our post-V9 suggestion list -- we're too close to V9's release to add features now.

I think your best option is to try to make shared libraries, but if the static libraries really rely on global variables, I think you're out of luck.

--
Ben Combee <[EMAIL PROTECTED]>
CodeWarrior for Palm OS technical lead
Palm OS programming help @ www.palmoswerks.com


--
For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/


Reply via email to