in csharp/NativeUtils/ResourceLoader.cs [181:204]
internal static IntPtr LoadNativeLibrary(string filePath, bool lazyResolution = false)
{
if (IsWindows)
return LoadLibrary(filePath);
// Linux/OSX distinction will probably be removed from here
DlOpenFlags dlOpenFlags = DlOpenFlags.RTLD_GLOBAL
| (lazyResolution ? DlOpenFlags.RTLD_LAZY : DlOpenFlags.RTLD_NOW);
// NOTE: Instantiate dlerror in advance, otherwise 1st call will erase the error message!
if (IsLinux)
dlerror();
else
dlerrorOSX();
IntPtr handle = IsLinux
? dlopen(filePath, (int)dlOpenFlags)
: dlopenOSX(filePath, (int)dlOpenFlags);
if (Logger.LogLevelLeast(DBG))
Log($"IsLinux: {IsLinux} Flags: {dlOpenFlags} Handle: {handle} Error: {dlerror()}");
return handle;
}