Error code E0455
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:
#![allow(unused)] fn main() { #[cfg_attr(target="macos", link(name = "FooCoreServices", kind = "framework"))] extern "C" {} }
Learn more in the Conditional Compilation section of the Reference.