Rust 如何包含sdl2
我想在Rust中使用Rust 如何包含sdl2,rust,rust-cargo,Rust,Rust Cargo,我想在Rust中使用sdl2包 我的项目文件夹: ├── 货舱 ├── src ├── 键盘 └── 梅因 到目前为止,我做了以下工作: 在my Cargo中添加了一行sdl2,其中处理外部依赖项: Cargo.toml: // ... [dependencies] sdl2 = "0.31" 要在我的keyboard.rs中使用sdl2,我添加了以下几行: extern crate sdl2; use sdl2::keyboard::Keycode; 但是当我尝试编译(货物构建)
sdl2
包
我的项目文件夹:
├── 货舱
├── src
├── 键盘
└── 梅因
到目前为止,我做了以下工作:
在my Cargo中添加了一行sdl2
,其中处理外部依赖项:
Cargo.toml
:
// ...
[dependencies]
sdl2 = "0.31"
要在我的keyboard.rs
中使用sdl2
,我添加了以下几行:
extern crate sdl2;
use sdl2::keyboard::Keycode;
但是当我尝试编译(货物构建
)时,我得到以下错误:
错误[E0433]:无法解决。你是说‘键盘::sdl2’?
-->src/keyboard.rs:4:5
|
4 |使用sdl2::键盘::键码;
|你是说“键盘::sdl2”吗?
错误[E0433]:无法解析。你是说‘键盘::sdl2’?
我做错了什么?甚至可以在main.rs
文件之外的其他文件中加载外部板条箱吗
编辑1:
添加
外部板条箱sdl2代码>到我的main.rs
没有解决问题如上所述,我需要在根目录下声明外部依赖项。使用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)
}
您需要在main.rs中添加一个外部板条箱sd12
。所有外部依赖项都需要在顶层链接。错误仍然存在。我无法重现您的问题:/n您需要向我们提供更多信息:您是如何编译的?一个简单的货物构建
还是别的什么?另外:您使用的是哪种生锈版本(rustc-V
)?请给我们main.rs
的全部内容(至少是重现问题所需的所有部分)。您不应该同时需要lib和main文件。这可能是你的问题。你能更详细地解释一下你的问题和解决方案吗?在目前的形式下,这种问答不太可能帮助任何未来的访问者。我们不喜欢这样(我们的使命就是为未来的访客建立一个知识库)。通过编辑您的问题和答案,您可以改善这种情况,并将知识反馈给社区。