# 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.