osgDB::DynamicLibrary: local lib loading on Android fixed

This commit is contained in:
Konstantin S. Matveyev 2019-03-29 16:25:43 +03:00
parent f263ad29db
commit e1b3c78013

View File

@ -113,6 +113,11 @@ DynamicLibrary::HANDLE DynamicLibrary::getLibraryHandle( const std::string& libr
return handle;
#else // other unix
#if defined(__ANDROID__)
// Library can be found in APK/lib/armeabi-v7a etc.
// Should not be prefaced with './'
std::string localLibraryName = libraryName;
#else
// dlopen will not work with files in the current directory unless
// they are prefaced with './' (DB - Nov 5, 2003).
std::string localLibraryName;
@ -120,6 +125,7 @@ DynamicLibrary::HANDLE DynamicLibrary::getLibraryHandle( const std::string& libr
localLibraryName = "./" + libraryName;
else
localLibraryName = libraryName;
#endif
handle = dlopen( localLibraryName.c_str(), RTLD_LAZY | RTLD_GLOBAL);
if( handle == NULL )