# Error code E0463

A plugin/crate was declared but cannot be found.

Erroneous code example:

    #![allow(unused)]
    #![feature(plugin)]
    #![plugin(cookie_monster)] // error: can't find crate for `cookie_monster`
    fn main() {
    extern crate cake_is_a_lie; // error: can't find crate for `cake_is_a_lie`
    }

You need to link your code to the relevant crate in order to be able to use it (through Cargo or the `-L` option of rustc example). Plugins are crates as well, and you link to them the same way.

## Common causes

- The crate is not present at all. If using Cargo, add it to `[dependencies]` in Cargo.toml.
- The crate is present, but under a different name. If using Cargo, look for `package =` under `[dependencies]` in Cargo.toml.

## Common causes for missing `std` or `core`

- You are cross-compiling for a target which doesn't have `std` prepackaged. Consider one of the following:
  - Adding a pre-compiled version of std with `rustup target add`
  - Building std from source with `cargo build -Z build-std`
  - Using `#![no_std]` at the crate root, so you won't need `std` in the first place.
- You are developing the compiler itself and haven't built libstd from source. You can usually build it with `x.py build library/std`. More information about x.py is available in the rustc-dev-guide.