Updated DLL

Fixed DLL loading issues with Linux
This commit is contained in:
Jordon Brooks 2023-06-04 00:41:26 +01:00
parent 5d17c3eeed
commit 5da0c7f397
6 changed files with 25 additions and 4 deletions

View file

@ -1,10 +1,20 @@
extern crate libloading;
fn main() {
let lib = unsafe { match libloading::Library::new("harmony_link_core.dll") {
// Use `cfg!` macro to detect OS
let lib_path = if cfg!(target_os = "windows") {
"harmony_link_core.dll"
} else if cfg!(target_os = "linux") {
"libharmony_link_core.so"
} else {
eprintln!("Unsupported OS");
return;
};
let lib = unsafe { match libloading::Library::new(lib_path) {
Ok(lib) => lib,
Err(err) => {
eprintln!("Error loading DLL: {}", err);
eprintln!("Error loading dynamic library: {}", err);
return;
},
}
@ -14,7 +24,7 @@ fn main() {
let func: libloading::Symbol<unsafe extern "C" fn()> = match lib.get(b"start") {
Ok(func) => func,
Err(err) => {
eprintln!("Error finding function in DLL: {}", err);
eprintln!("Error finding function in dynamic library: {}", err);
return;
}
};