Loadable Bundle Question
Loadable Bundle Question
- Subject: Loadable Bundle Question
- From: Rush Manbert <email@hidden>
- Date: Wed, 30 Jan 2008 17:09:56 -0800
Hi All,
I posted a little while ago about linker errors that I was seeing. ("How
to get rid of this linker warning?") After posting, I got to thinking
about what I was really trying to do and what problems I was going to
have (at least potentially), so I started looking for alternate solutions.
My issue is that I need to provide some pretty complicated functionality
that my customers can use in their applications. I need to do this on
both Mac and Windows platforms. Currently, the way I have packaged
things is that I provide a single static library that has been linked
against all of the static libraries on which it depends. These include
libxml2, Openssl, and a number of the Boost libraries, plus more. My
library API is very clean and fairly small. For each platform, I provide
a platform-specific adapter. For OS X, this is written in Objective-C,
and provides the bridge to the C++ code that is in the library.
Because of how I link the final library, it carries all of the libraries
on which it depends. This may cause problems for my customers who link
against my library because they may also be using Boost or Openssl, and
they may use a different version than what I used. The result could be
unexplained behavior of their apps.
I don't want to provide a list of required libraries and force my
customers to get them for themselves. They are paying me to provide this
code to them, and it wouldn't fix possible version problems anyway.
I should also mention that the applications that my customers build will
be run by their customers. The functionality that I provide must be able
to run without installing anything on the end user's system.
All this brings me to my Loadable Bundle question. I think that the
solution to my problem in OS X is to package up my library into a
Loadable Bundle and expose the API through a single entry point. If I
understand correctly, I believe that my bundle will be linked like an
application, so whatever static libraries I used will only be visible
within my bundle and my customers can use different versions of the same
libraries without there being any problems. I assume that my customers
can include my bundle within their app and load it at runtime
I'm sure many of you have written and used Loadable Bundles. I haven't.
Does this sound like the correct approach for me to take? Is there
something better I should look at?
Thanks,
Rush
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden