Hey all, n00b here.
I'm having trouble importing a script correctly, so I can begin building the script, but if the compiler can't find the script I want to build, I'm stuck. I'm reading the rust book trying to figure this out and I'm not having any luck so far.
The error
PS C:\S2O\s2o_net_lib> cargo run
Compiling s2o_net_lib v0.1.0 (C:\S2O\s2o_net_lib)
error[E0433]: failed to resolve: could not find `layers` in the crate root
--> src\gui_zpu.rs:2:12
|
2 | use crate::layers::menu_layer::create_main_menu;
| ^^^^^^ could not find `layers` in the crate root
For more information about this error, try `rustc --explain E0433`.
error: could not compile `s2o_net_lib` (bin "s2o_net_lib") due to 1 previous error
PS C:\S2O\s2o_net_lib>
/cargo.toml
[package]
name = "s2o_net_lib"
version = "0.1.0"
edition = "2021"
[dependencies]
winapi = { version = "0.3.9", features = ["ifmib", "iphlpapi", "securitybaseapi", "errhandlingapi"] }
tokio = { version = "1.42.0", features = ["full"] }
log = "0.4.22"
env_logger = "0.11.6"
speedtest-rs = "0.2.0"
socket2 = "0.4"
crossterm = "0.21"
cursive = "0.21.1"
windows-sys = "0.59.0"
src/main.rs
use cursive::Cursive;
use cursive::CursiveExt; // Import CursiveExt for run method
mod gui_zpu;
fn main() {
let mut siv = Cursive::default();
gui_zpu::initialize(&mut siv); // Initialize GUI from gui_zpu
siv.run();
}
src/gui_zpu.rs
use cursive::Cursive;
use crate::layers::menu_layer::create_main_menu;
pub fn initialize(siv: &mut Cursive) {
create_main_menu(siv);
}
src/layers/menu_layer.rs
use cursive::Cursive;
use cursive::views::{Dialog, SelectView};
pub fn create_main_menu(siv: &mut Cursive) {
let mut select = SelectView::new()
.item("Admin Menu", "admin")
.item("Examine Interfaces", "examine")
.item("Start Monitoring", "start")
.item("Firewall Settings", "firewall")
.item("Back", "back");
select.set_on_submit(|siv, item| match item {
"admin" => admin_menu(siv),
"examine" => examine_interfaces(siv),
"start" => start_monitoring(siv),
"firewall" => firewall_menu(siv),
"back" => {siv.pop_layer();},
_ => (),
});
siv.add_layer(Dialog::around(select).title("Main Menu"));
}
Preciate you!