1.新建目录test001,并在根目录创建Cargo.toml文件,配置了整个工作空间。其中不包含[package] 或其他我们在 Cargo.toml 中见过的元信息。它以 [workspace] 部分作为开始,并通过指定子项的路径来为工作空间增加成员。
#Cargo.toml
[workspace]
members = [
"xunhuan",
]
2.在test001目录下使用cargo new xunhuan 构建crate,在test001下使用cargo build构建项目,得到目录树应该如此:
- ├── Cargo.lock
- ├── Cargo.toml
- ├── xunhuan
- │ ├── Cargo.toml
- │ └── src
- │ └── main.rs
- └── target
3.在test001中创建第二个crate:
首先在根目录的toml文件中假如第二个人crate的路径
[workspace]
members = [
"xunhuan",
"pipei"
]
然后使用cargo构建第二个crate
cargo new pipei --lib
目录结构应如下:
- ├── Cargo.lock
- ├── Cargo.toml
- ├── xunhuan
- │ ├── Cargo.toml
- │ └── src
- │ └── main.rs
- ├── pipei
- │ ├── Cargo.toml
- │ └── src
- │ └── lib.rs
- └── target
4.在lib.rs中添加一个方法,在xunhuan crate的toml下的 dependencies 中添加路径信息
pub fn plus_one(x:i32)->i32{
x+1
}
[dependencies]
pipei = {path="../pipei"}
5. 在main.rs中使用此crate
use pipei;
fn main(){
println!("{}",pipei::plus_one(5)) //6
}
本文由 yuin 创作,
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。