Error code E0462
Found staticlib .. instead of rlib or dylib.
Consider the following two files:
a.rs
#![crate_type = "staticlib"]
fn foo() {}
main.rs
extern crate a;
fn main() {
a::foo();
}
Crate a is compiled as a staticlib. A staticlib is a system-dependant
library only intended for linking with non-Rust applications (C programs). Note
that staticlibs include all upstream dependencies (core, std, other user
dependencies, etc) which makes them significantly larger than dylibs:
prefer staticlib for linking with C programs. Learn more about different
crate_types in this section of the Reference.
This error can be fixed by:
- Using Cargo, the Rust package manager, automatically fixing this issue.
- Recompiling the crate as a
rlibordylib; formats suitable for Rust linking.