Import 找不到Rust文件,因为同一目录中的文件出现模块错误

Import 找不到Rust文件,因为同一目录中的文件出现模块错误,import,module,rust,Import,Module,Rust,Rust无法通过声明找到本地文件。我在src中有以下文件结构: | main.rs | lib.rs | test.rs | prog.rs | file.rs 总的来说,我有 extern crate cratename; mod prog; use cratename::file1::File1; ... prog::function() // This works ... #[cfg(test)] mod test; pub mod file1; extern crate crat

Rust无法通过声明找到本地文件。我在src中有以下文件结构:

| main.rs
| lib.rs
| test.rs
| prog.rs
| file.rs
总的来说,我有

extern crate cratename;
mod prog;

use cratename::file1::File1;
...
prog::function() // This works
...
#[cfg(test)]
mod test;
pub mod file1;
extern crate cratename
use cratename::file1::File1;
mod prog;
#[test]
...
prog::function() // This does not work
...
在图书馆里我有

extern crate cratename;
mod prog;

use cratename::file1::File1;
...
prog::function() // This works
...
#[cfg(test)]
mod test;
pub mod file1;
extern crate cratename
use cratename::file1::File1;
mod prog;
#[test]
...
prog::function() // This does not work
...
在测试中,我有

extern crate cratename;
mod prog;

use cratename::file1::File1;
...
prog::function() // This works
...
#[cfg(test)]
mod test;
pub mod file1;
extern crate cratename
use cratename::file1::File1;
mod prog;
#[test]
...
prog::function() // This does not work
...
我一直在犯错误

error[E0583]: file not found for module `prog`

我试着将声明放在lib.rs中,但没有成功。我尝试过许多其他的排列方式,包括这个声明和main.rs,但都不起作用。如果有帮助,prog.rs不包含结构,也不使用mod关键字,它只包含公共函数。这让我困惑了一段时间。感谢您的帮助。

mod prog声明了一个模块,
test::prog
,它不同于
prog
。main.rs和lib.rs在这方面是特殊的。如果您想使用在别处定义的模块,请使用
use
,而不是
mod
@trentcl,谢谢您,请务必重新阅读。