There are three approaches to this problem:
- Statically link all dependencies into your binary.
- This will include a copy of the libraries in your final application, making it bigger, but self-contained.
- Create a dynamic build of the dependencies and deploy them on the target system.
libm
(math library) exists on all systems typically, so it's like justlibfftw3
and other libraries that need to be rebuilt.- This can be accomplished by either building the source, or installing the needed libraries using macports
<www.macports.org>
- Provide an alternate environment for the remote side to run the application in (ie: a Virtual Machine running Mavericks inside it).
Edit:
In response to your ocmment, you can force static linking of dependencies for your XCode target, in the case of libfftw3
, by replacing the line:
-lfftw3
With:
-l/full/path/to/libfftw3.a
Repeat this for all of the libraries against which your target links, and you're set. The final application binary will likely be much greater in file size, but completely self contained.
References:
- Force static linking of library linked to Xcode target?, Accessed 2014-03-14,
<https://stackoverflow.com/questions/458805/force-static-linking-of-library-linked-to-xcode-target>
- Compiling a C program for previous OS X Version, Accessed 2014-03-14,
<https://stackoverflow.com/questions/22391848/compiling-a-c-program-for-previous-os-x-version>