Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 如何包含sdl2_Rust_Rust Cargo - Fatal编程技术网

Rust 如何包含sdl2

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; 但是当我尝试编译(货物构建)

我想在Rust中使用
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文件。这可能是你的问题。你能更详细地解释一下你的问题和解决方案吗?在目前的形式下,这种问答不太可能帮助任何未来的访问者。我们不喜欢这样(我们的使命就是为未来的访客建立一个知识库)。通过编辑您的问题和答案,您可以改善这种情况,并将知识反馈给社区。