2016-07-31 1 views
0

を見つけることができない私は錆に新たなんだと、彼らはcanvas.rs exampleに行ったように、私は、Conrod libraryでウィンドウを開くしようとしている:は私の錆プロジェクトにコンロッドライブラリを使用することはできません:クレートpiston_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); 
} 

私はコンロッドプロジェクト(私はGitHubのからダウンロードしたもの)中のAAのファイルにそれを使用する場合、このコードは動作しますが、私は自分のコードでそれを使用する場合、それは動作しませんと

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が間違っていると思いますが、私は何をすべきかの手掛かりを持っていません。

答えて

2

crates.ioからpiston_window crateが必要です。ただ、依存関係の下で、あなたのCargo.tomlにこれを追加します。あなたがextern crate _を見るたびに

piston_window = "0.51.1" 

、あなたのCargo.tomlファイルにクレートを追加する必要があります。 crates.ioのドキュメントは、箱(ローカル、オプションでGitなど)をインポートするさまざまな方法を示しています。

+0

これまで、私はcargo.tomlにpinston_window = "*"を追加することで、 –

+0

それは働いていますが、私は信用していません。それは私が働いていないと思いますか?トゥーム?そして、私はどのように私が追加している依存の最後のバージョンを知っていると思いますか? –

+1

crates.ioでパッケージを検索すると、[lazy_static](https://crates.io/crates/lazy_static)ページのように、宣言のあるボックスがあります。この行に ' lazy_static = "0.2.1" '。誰もあなたがバージョンを覚えて覚えておくことを期待している人はいませんが、将来はあなたのコードが壊れる可能性があるので、「*」を使用することは悪い習慣です。 – Aurora0001

関連する問題