无法在我的 Rust 项目中使用 conrod 库:找不到 crate piston_window

Can't use the conrod library in my Rust project: can't find crate piston_window

我是 Rust 的新手,我正在尝试用 Conrod library, like they did in the canvas.rs example:

打开一个 window
#[macro_use] extern crate conrod;
extern crate find_folder;
extern crate piston_window;

use conrod::{Canvas, Theme, Widget, color};
use piston_window::{EventLoop, OpenGL, PistonWindow, UpdateEvent,     WindowSettings};

fn main() {
    const WIDTH: u32 = 800;
    const HEIGHT: u32 = 600;

    // Change this to OpenGL::V2_1 if not working.
    let opengl = OpenGL::V3_2;

    // Construct the window.
    let mut window: PistonWindow =
    WindowSettings::new("Canvas Demo", [WIDTH, HEIGHT].opengl(opengl).exit_on_esc(true).vsync(true).build().unwrap();
   window.set_ups(60);
}

当我在 Conrod 项目(我从 GitHub 下载的那个)中的一个文件中使用此代码时,它可以工作,但是当我在我自己的代码中使用它时,它不起作用:

extern crate conrod;
extern crate piston_window;

fn main() {
    println!("Hello, world!");
}

与以下Cargo.toml:

[package]
name = "hello_conrod"
version = "0.1.0"
authors = ["omega"]

[dependencies]
conrod = "0.37.2"

然后编译器告诉我这个:

error: can't find crate for `piston_window` [E0463]

我想我的 Cargo.toml 是错误的,但我不知道我应该做什么。

您需要 crates.io 中的 piston_window crate。只需将其添加到您的 Cargo.toml,在 dependencies 下:

piston_window = "0.51.1"

无论何时看到 extern crate _,您都需要在 Cargo.toml 文件中添加包装箱。 crates.io 上的文档显示了导入包的不同方式(本地,可选,从 Git 等)