Link against external DLL
from japps13@lemmy.physfluids.fr to rust@programming.dev on 13 Mar 2024 21:01
https://lemmy.physfluids.fr/post/347304
from japps13@lemmy.physfluids.fr to rust@programming.dev on 13 Mar 2024 21:01
https://lemmy.physfluids.fr/post/347304
Hello,
I am trying to use the SDK provided by the manufacturer of a camera from Rust. I use this in the build.rs :
println!(r"cargo:rustc-link-search=C:\Program Files\Digital Camera Toolbox\Camware4"); println!("cargo:rustc-link-lib=SC2_Cam");
However, it tries to find a .lib file, while the actual file is SC2_Cam.dll. I’ve tried specifying the kind as dylib=SC2_Cam
but it makes no difference.
Am I missing something obvious, or is it just not possible? Do I have to manually load the DLL at runtime with things like the libloading crate?
threaded - newest
The Windows linker needs a lib file to link a DLL. See here how it’s done kellnr.io/blog/cross-plat-native-lib
Thank you very much for your reply. I have tried the approach you explain in your blog post, and it works. Your blog post is useful and clearly written !
Happy to hear that it worked!