我想使用锈蚀中的sdl2包。
我的项目文件夹:
├── Cargo.toml
├── src
├── keyboard.rs
└── main.rs到目前为止,我完成了以下工作:在货物中添加了一个sdl2行,其中外接依赖项是手动的:Cargo.toml
// ...
[dependencies]
sdl2 = "0.31"为了在我的sdl2中使用keyboard.rs,我添加了以下几行:
extern crate sdl2;
use sdl2::keyboard::Keycode;但是,当我试图编译(cargo build)时,会出现以下错误:
error[E0433]: failed to resolve. Did you mean `keyboard::sdl2`?
--> src/keyboard.rs:4:5
|
4 | use sdl2::keyboard::Keycode;
| ^^^^ Did you mean `keyboard::sdl2`?
error[E0433]: failed to resolve. Did you mean `keyboard::sdl2`?我做错了什么?是否有可能在main.rs文件以外的其他文件中加载外挂箱?
编辑1:
将extern crate sdl2;添加到我的main.rs并没有解决这个问题。
发布于 2018-04-28 13:31:51
如前所述,我需要在根处声明外部依赖项。当使用lib.rs文件时,必须将其写在那里:
lib.rs
extern crate sdl2;
//...为了在keyboard.rs文件中使用它:
use sdl2::keyboard::Scancode;
use sdl2;
// example code below
fn is_a_pressed(e: &sdl2::EventPump) -> bool {
e.keyboard_state().is_scancode_pressed(Scancode::A)
}https://stackoverflow.com/questions/50076002
复制相似问题