1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
Found `staticlib` `..` instead of `rlib` or `dylib`.
Consider the following two files:
`a.rs`
```ignore (cannot-link-with-other-tests)
#![crate_type = "staticlib"]
fn foo() {}
```
`main.rs`
```ignore (cannot-link-with-other-tests)
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 `staticlib`s include all upstream dependencies (`core`, `std`, other user
dependencies, etc) which makes them significantly larger than `dylib`s:
prefer `staticlib` for linking with C programs. Learn more about different
`crate_type`s in [this section of the Reference](../reference/linkage.html).
This error can be fixed by:
* Using [Cargo](../../cargo-doc/doc/index.html), the Rust package manager, automatically
fixing this issue.
* Recompiling the crate as a `rlib` or `dylib`; formats suitable for Rust
linking.
|