首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何包含sdl2

如何包含sdl2
EN

Stack Overflow用户
提问于 2018-04-28 11:24:16
回答 1查看 699关注 0票数 0

我想使用锈蚀中的sdl2包。

我的项目文件夹:

代码语言:javascript
复制
├── Cargo.toml
├── src
    ├── keyboard.rs
    └── main.rs

到目前为止,我完成了以下工作:在货物中添加了一个sdl2行,其中外接依赖项是手动的:Cargo.toml

代码语言:javascript
复制
// ...
[dependencies]
    sdl2 = "0.31"

为了在我的sdl2中使用keyboard.rs,我添加了以下几行:

代码语言:javascript
复制
extern crate sdl2;
use sdl2::keyboard::Keycode;

但是,当我试图编译(cargo build)时,会出现以下错误:

代码语言:javascript
复制
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并没有解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-04-28 13:31:51

如前所述,我需要在根处声明外部依赖项。当使用lib.rs文件时,必须将其写在那里:

lib.rs

代码语言:javascript
复制
extern crate sdl2;
//...

为了在keyboard.rs文件中使用它:

代码语言:javascript
复制
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)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50076002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档