FMOD Designer libraries has explicit library dependencies on linux (32 and 64 bits) to libfmodex or libfmodevent.

My problem is I should be able to put FMOD Ex / Designer libraries (shared object) anywhere, without using LD_LIBRARY_PATH. This means the OS don’t know them at all.
I can already do that under windows and mac, but the explicit dependency with linux library make it impossible.

For loading FMOD Ex library, that fine because it only has dependency the standard system library.
But for FMOD Designer shared objects (fmodevent and fmodeventnet), they are explicitly linked towards non standard library: [i:20vvgdh1]libfmodex-4.25.09.so[/i:20vvgdh1] (and [i:20vvgdh1]libfmodevent-4.25.09.so[/i:20vvgdh1]). Due to that, it is impossible for me to use FMOD Designer API under linux.

The only way is to have shared object without the explicit dependency to libfmodex and libfmodevent.
I use dlopen, for loading the shared object, with RTLD_NOW and RTLD_GLOBAL which make possible the use of such library. These modes allow to make symbol visible and to resolve symbol when needed (ie not when library is loaded).

So come my questions :

1) Is it possible to have a version of libfmodevent.so and libfmodeventnet.so without the explicit library dependency to libfmod.so ?
[i:20vvgdh1](they can be build just by removing the libfmod
.so from the gcc/g++ build command line)[/i:20vvgdh1]

2) If no, is someone know some linux command that can remove library dependency from an existing library (shared object) file ?

Thanks in advanced,


  • You must to post comments
Showing 0 results
Your Answer

Please first to submit.