Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0455: link kind `framework` is only supported on Apple targets
What it meansSome linking kinds are target-specific and not supported on all platforms.
What rustc prints
error[E0455]: link kind `framework` is only supported on Apple targets
--> main.rs:1:41
|
1 | #[link(name = "FooCoreServices", kind = "framework")] extern "C" {}
| ^^^^^^^^^^^Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
Some linking kinds are target-specific and not supported on all platforms.
Linking with kind=framework is only supported when targeting macOS, as frameworks are specific to that operating system.
Similarly, kind=raw-dylib is only supported when targeting Windows-like platforms.
Erroneous code example:
#[link(name = "FooCoreServices", kind = "framework")] extern "C" {}
// OS used to compile is Linux for example
To solve this error you can use conditional compilation:
#[cfg_attr(target="macos", link(name = "FooCoreServices", kind = "framework"))]
extern "C" {}
Learn more in the Conditional Compilation section of the Reference.
From rustc --explain E0455 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0370enum discriminant overflowed
- E0436functional record update syntax requires a struct
- E0511Invalid monomorphization of an intrinsic function was used
- E0514Dependency compiled with different version of `rustc`
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?