能否以这种方式组织 Rust 项目?
目录结构:
src
├── a
│ └── bin1.rs
├── b
│ ├── bin2.rs
└── common
├── mod.rs
从 Cargo.toml 文件:
[[bin]]
name = "bin1"
path = "src/a/bin1.rs"
[[bin]]
name = "bin2"
path = "src/b/bin2.rs"
我想在bin1.rs
和bin2.rs
中使用common
模块。只需在导入前添加路径属性即可实现:
#[path="../common/mod.rs"]
mod code;
是否有一种方法让bin1.rs
和bin2.rs
使用common
而不必硬编码路径?
use crate:: ...
的东西,我认为它可能是指“无论根箱是什么”,但它返回编译器错误“根中没有 X”(其中 X 是我的模块名称)。那么,“根”箱是什么呢? - Anselanlib.rs
和main.rs
视为两个完全不同的 crate 的根。当访问同一 crate 中的内容时,使用use crate::
,而当从main.rs
访问lib.rs
中的内容时,则使用use my_crate::
。无法从main.rs
访问lib.rs
crate 中的内容。 - Alice RyhlCargo.toml
中获取的。 - Alice Ryhl