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

时间:2016-07-31 16:13:49

标签: rust rust-crates

我是Rust的新手,我正在尝试使用Conrod library打开一个窗口,就像他们在canvas.rs example中所做的那样:

#[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错了,但我不知道应该做些什么。

1 个答案:

答案 0 :(得分:2)

您需要来自crates.io的piston_window crate。只需将其添加到您的Cargo.toml,依赖项下:

piston_window = "0.51.1"

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