Как включить sdl2 - PullRequest
       8

Как включить sdl2

0 голосов
/ 28 апреля 2018

Я хочу использовать пакет sdl2 в Rust.

Папка моего проекта:

├── Cargo.toml
├── src
    ├── keyboard.rs
    └── main.rs

Пока я сделал следующее: Добавлена ​​строка sdl2 в мой Cargo, где обрабатываются внешние зависимости: 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 не решило проблему

1 Ответ

0 голосов
/ 28 апреля 2018

Как указано выше, мне нужно объявить внешние зависимости в корне. При использовании файла 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)
}
...