3

I'm writing an android plugin for Unity, libSolidCapture.so. This plugin is using a shared library, named liblo.so, an OSC library When I'm trying to launch the application on an android device, I get the following error :

Unable to load library '/libSolidCapture.so', native render plugin support disabled: java.lang.UnsatisfiedLinkError: dlopen failed: library "liblo.so.7" not found

then :

DllNotFoundException: SolidCapture

When i build liblo for android, liblo.so.7 is created, but when I try to drag and drop it in Unity, it seems to be considered as a folder, and not a library !

When I build an apk, Unity includes liblo.so, but not liblo.so.7

Do you have any idea of what I'm doing wrong ?

d4Rk
  • 6,622
  • 5
  • 46
  • 60
Mehdi-Antoine
  • 125
  • 1
  • 9
  • A good solution would be merging liblo source code into your libSolidCapture, but it is only when your are really stuck. I have never tried using more than two so libraries in Unity. – Nguyễn Trường Chung Jul 30 '15 at 03:49
  • Unfortunatly, i'm not the developper of liblo, so I prefer to avoid merging... Using more than two libraries is possible ! I think The problem come from the building : android doesn't understand linux soname and versionning. I have to build a liblo.so that is not linked to liblo.so.7 – Mehdi-Antoine Jul 30 '15 at 09:35
  • 1
    Finally found the solution ! I manually added some flags to the liblo Makefile : liblo_la_LDFLAGS = -avoid-version this flag avoid versionning and create a single liblo.so (liblo.so.7 has disappeared) The following topic saved my life : http://stackoverflow.com/questions/11989255/gnu-autotools-rebuild-without-version-info – Mehdi-Antoine Jul 30 '15 at 14:44

0 Answers0