I'm trying to link in a pre-compiled shared library file called librandomnumber.so in my project. code for CMakeLists.txt:
link_directories('lib/native_Library/librandomnumber.so')
add_library(native-lib librandomnumber.so)
target_link_libraries(native-lib librandomnumber.so)
load library code:
import 'dart:ffi';
import 'dart:io';
typedef fetch_number_func = Int32 Function();
typedef FetchNumber = int Function();
class FfiService {
get updateLocationsCommand => null;
Object fetchRandomNumber() {
if (Platform.isAndroid){
print("now going to load library");
final DynamicLibrary nativeAddLib = Platform.isAndroid
? DynamicLibrary.open('native-lib.so')
: DynamicLibrary.process();
print("sdgahhgjhdgajh" + nativeAddLib.toString());
final fetchNumberPointer =
nativeAddLib.lookup<NativeFunction<fetch_number_func>>(
'fetch_number',
);
return fetchNumberPointer;
}
else {
(exc){
DynamicLibrary.process();
print('Something went wrong in fetchRandomNumber ${exc.toString()}');
};
}
return 0;
}
}
this error is shown
error: Invalid argument(s): Failed to load dynamic library 'native-lib.so': dlopen failed: library "native-lib.so" not found
can you please give me the solutions??