Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 使用同级时如何理解lib.rs中的mod xxx_Rust - Fatal编程技术网

Rust 使用同级时如何理解lib.rs中的mod xxx

Rust 使用同级时如何理解lib.rs中的mod xxx,rust,Rust,在许多帖子中,正如人们建议在lib.rs中使用mod xxx或者甚至在lib.rs中使用mod xxx一样,当它们在根目录下处于同一级别时,我也尝试过 src/lib.rs: pub-mod打印机; pub-mod屏幕; src/printer.rs: pub fn说(a:&str){ println!(“打印机说{}”,a); } src/screen.rs: 使用板条箱::打印机; 酒吧fn说(b:&str){ 打印机::说(“嗨”); println!(“屏幕显示{}”,b); }

在许多帖子中,正如人们建议在
lib.rs
中使用
mod xxx
或者甚至在
lib.rs
中使用
mod xxx
一样,当它们在根目录下处于同一级别时,我也尝试过

src/lib.rs

pub-mod打印机;
pub-mod屏幕;
src/printer.rs

pub fn说(a:&str){
println!(“打印机说{}”,a);
}
src/screen.rs

使用板条箱::打印机;
酒吧fn说(b:&str){
打印机::说(“嗨”);
println!(“屏幕显示{}”,b);
}
src/main.rs

mod打印机;
mod屏幕;
fn main(){
打印机::说(“嗨”);
屏幕:说“嗨”;
}
上述方法有效,直到我尝试了不同的
lib.rs
,我发现,当
lib.rs

pub mod screen;
错误是:

error[E0432]: unresolved import `crate::printer`
 --> src\screen.rs:1:5
  |
1 | use crate::printer;
  |     ^^^^^^^^^^^^^^ no `printer` in the root

实际上,
lib.rs
既可以有mod屏幕,也可以没有打印机,也可以只有打印机;如果它不是唯一的屏幕。

此项目是库还是可执行文件?从技术上讲,两者都可以,但这通常不是Rust的新手在添加
lib.rs
main.rs
时想要的。我在学习柴油机演示。它有1个二进制文件,3个用于库。但这是为了2015年。我想把它改成Rust 2018,却被卡在了路径>。