我是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
错了,但我不知道应该做些什么。
答案 0 :(得分:2)
您需要来自crates.io的piston_window crate。只需将其添加到您的Cargo.toml
,依赖项下:
piston_window = "0.51.1"
每当您看到extern crate _
时,您都需要在Cargo.toml
文件中添加包。 crates.io上的文档显示了导入包的不同方式(本地,可选,从Git等)。