> I have two sets of issues. One seems to be linker related: > > E/art ( 8857): dlopen("/data/app/com.app/lib/arm/libcryptopp-and.so", > RTLD_LAZY) failed: dlopen failed: library "libstlport_shared.so" not found > > So I add: > > ANDROID_EXTRA_LIBS += /Users/jhihn/Downloads/android-ndk-r10e/sources/cxx-stl/ > stlport/libs/armeabi-v7a/libstlport_shared.so >
This is always a point of frustration (for me)... How to get the libraries copied properly and in the right place in the lib/ folder. Under NDK-build, you use LOCAL_MODULE and LOCAL_SHARED_LIBRARIES. One ensures you compile/link against a library like stlport_shared, the other ensures stlport_shared is included in the libs/ directory. Also see this Android.mk: http://github.com/noloader/Android-PRNG/blob/master/jni/Android.mk. It produces a prng.so called by Java, and it uses stlport_shared.so and cryptopp.so. I’m not sure how Qt does things. ***** 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); Jeff -- -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to cryptopp-users-unsubscr...@googlegroups.com. 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 cryptopp-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.