> Also note that getting the dlopen flags correct can be challenging. I use 
>> the following code (when needed) code because something that works on one 
>> platform does not work on another (from 
>> http://cryptopp.com/wiki/Linux#Note_for_Shared_Object_Callers):
>>
>>   void* cryptlib = NULL;
>>
>>   cryptlib = dlopen("libcryptopp.so", RTLD_GLOBAL);
>>
>>   if(!cryptlib)
>>     cryptlib = dlopen("libcryptopp.so", RTLD_GLOBAL | RTLD_LAZY);
>>
>>   if(!cryptlib)
>>     cryptlib = dlopen("libcrypto++.so", RTLD_GLOBAL);
>>
>>   if(!cryptlib)
>>     cryptlib = dlopen("libcrypto++.so", RTLD_GLOBAL | RTLD_LAZY);
>>
>>   if(!cryptlib)
>>     throw runtime_error("Failed to load crypto++ shared object");
>>
>>   ...
>>
>>   dlclose(cryptlib);
>>
>>
>> I think you figured it out for me, I need  RTLD_GLOBAL  in the dlopen() 
> qt-generated android activity to load the library so that crypto++ can 
> access it. Be default it is only specifying RTLD_LAZY
>

It looks like Android added more choices for dlopen. See 
http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-runtime
 
.

Jeff 

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to