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?
3 Comments
secana@programming.dev · 11 pts · 2y
The Windows linker needs a lib file to link a DLL. See here how it's done https://kellnr.io/blog/cross-plat-native-lib
japps13@lemmy.physfluids.fr · 8 pts · 2y
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 !
secana@programming.dev · 2 pts · 2y
Happy to hear that it worked!