# 3rd Party plugin

**URL:** https://qa.fmod.com/t/3rd-party-plugin/12348
**Category:** Unity
**Created:** [March 4, 2016, 1:24am UTC](https://qa.fmod.com/t/3rd-party-plugin/12348 "2016-03-04T01:24:42Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![kexi](https://avatars.discourse-cdn.com/v4/letter/k/58f4c7/32.png) [@kexi](https://qa.fmod.com/u/kexi)
#### Post date: [March 4, 2016, 1:24am UTC](https://qa.fmod.com/t/3rd-party-plugin/12348/1 "2016-03-04T01:24:42Z")

</div>

Hi, all,

Got stuck again. I’m trying to compile and load example fmod-plugin, namely fmod\_distance\_filter, into fmod. What i’ve done so far on Windows:

- compile low-level-api examples.sln with VS2015 and compiled fmod\_distance\_filter64.dll.
- copied the dll to fmod and the plugin can be found and used.
- built the banks into build/Windows and at the end Unity could use the bank (and plugin) on Windows.

The next step for me is to compile and deploy something like libfmod\_distance\_filter.so to Android. I was hoping fmod-android low-level-api examples.sln for Android could have some example code for libfmod\_distance\_filter.so. But the examples seem to be all for native Android apps (i can compile them fine, thanks to previous helps!!). I tried to write the fmod\_distance\_filter plugin for Android, but no luck to get it compiled and deploy correctly.

Hope i didn’t confuse you… my question is:

- the banks i built in fmod is in build/Windows. If the banks will be deployed to Android, is that a problem?
- Is there a similar way to compile libfmod\_distance\_filter.so for Android just as fmod\_distance\_filter64.dll can be compiled on Windows? Or I need to write and compile .so myself?

I’m using Unity-fmod integration version 1.07.06. the latest one had JNI\_OnLoad issue.

Kexi

---

<div class="post-metadata">

### Author: ![mathew](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/mathew/32/431_2.png) [@mathew](https://qa.fmod.com/u/mathew)
#### Post date: [March 7, 2016, 11:16pm UTC](https://qa.fmod.com/t/3rd-party-plugin/12348/2 "2016-03-07T23:16:21Z")

</div>

Currently you’ll need to compile the distance filter example into a .so yourself. I’ve added a task to our tracker to include Visual Studio projects for building these.

It should be fairly straight forward to do though, using the NVidia NSight Tegra integration for Visual Studio, create a new project “Dynamic Library for Android Application”. Replace the auto generated code with the plugin code, add a search path for the FMOD headers and build.

---

<div class="post-metadata">

### Author: ![Capraise](https://avatars.discourse-cdn.com/v4/letter/c/41988e/32.png) [@Capraise](https://qa.fmod.com/u/Capraise)
#### Post date: [July 7, 2021, 10:40am UTC](https://qa.fmod.com/t/3rd-party-plugin/12348/3 "2021-07-07T10:40:02Z")

</div>

Is this still the best way? I tried that, but ending up getting the error “FMOD\_OS\_Library\_Load : dlopen failed: library “libc++\_shared.so” not found”  
I’m copying the code of the FMOD Gain example. I named the project fmod\_gain64 with min sdk 23 and target sdk 26 and the arm64 target architecture.  
The built “libfmod\_gain64.so” I then copy to the plugins/fmod/lib/android/arm64-v8a folder with importsettings set to android and arm64.  
When I build the same cpp file to a dll for windows and fmod studio, it works without any problem.  
Maybe I’m doing something fundamentally wrong…

---

<div class="post-metadata">

### Author: ![Capraise](https://avatars.discourse-cdn.com/v4/letter/c/41988e/32.png) [@Capraise](https://qa.fmod.com/u/Capraise)
#### Post date: [July 8, 2021, 3:37pm UTC](https://qa.fmod.com/t/3rd-party-plugin/12348/4 "2021-07-08T15:37:48Z")

</div>

And I forgot to mention that I’m using Fmod 2.01.07

---

<div class="post-metadata">

### Author: ![tristanjl](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/tristanjl/32/261_2.png) [@tristanjl](https://qa.fmod.com/u/tristanjl)
#### Post date: [July 8, 2021, 11:41pm UTC](https://qa.fmod.com/t/3rd-party-plugin/12348/5 "2021-07-08T23:41:32Z")

</div>

Hi Capraise

The simple explanation is that you need to change the build to not include a std library or link a standard library statically. Not linking a standard library is likely the easiest of those solutions as I don’t believe FMOD Distance filter makes use of any c++ std library calls.

The longer answer is that FMOD 2.1 is build with api compatibility with API 14 and is linking an older standard lib in line with that ndk and api version. It does a similar thing with the resonance plugin that we ship with, which for fmod versions 2.1 and prior, we link with ustl.

In new api versions/ndk versions, this has been replaced with other std library options, and certain build tools willl expect libc++\_shared.so to be available to be dynamically linked. We have switched to this for FMOD 2.02 onward, but for previous versions, you will have to see the above recommendations.

---

<div class="post-metadata">

### Author: ![Capraise](https://avatars.discourse-cdn.com/v4/letter/c/41988e/32.png) [@Capraise](https://qa.fmod.com/u/Capraise)
#### Post date: [July 10, 2021, 6:03pm UTC](https://qa.fmod.com/t/3rd-party-plugin/12348/6 "2021-07-10T18:03:35Z")

</div>

Hi tristanjl  
that makes a lot of sense, thank you for those insights! It works flawlessly by either including the file which I found now in the ndk or by statically linking it.  
Great!
