使用Cargo workspace创建工作空间
   笔记Rust基础    0 comment
使用Cargo workspace创建工作空间
   笔记Rust基础    0 comment

1.新建目录test001,并在根目录创建Cargo.toml文件,配置了整个工作空间。其中不包含[package] 或其他我们在 Cargo.toml 中见过的元信息。它以 [workspace] 部分作为开始,并通过指定子项的路径来为工作空间增加成员。

    #Cargo.toml
    [workspace]
    members = [
        "xunhuan",
    ]

2.在test001目录下使用cargo new xunhuan 构建crate,在test001下使用cargo build构建项目,得到目录树应该如此:

  1. ├── Cargo.lock
  2. ├── Cargo.toml
  3. ├── xunhuan
  4. │ ├── Cargo.toml
  5. │ └── src
  6. │ └── main.rs
  7. └── target

3.在test001中创建第二个crate:

首先在根目录的toml文件中假如第二个人crate的路径

    [workspace]
    members = [
        "xunhuan",
        "pipei"
    ]

然后使用cargo构建第二个crate

    cargo new pipei --lib

目录结构应如下:

  1. ├── Cargo.lock
  2. ├── Cargo.toml
  3. ├── xunhuan
  4. │ ├── Cargo.toml
  5. │ └── src
  6. │ └── main.rs
  7. ├── pipei
  8. │ ├── Cargo.toml
  9. │ └── src
  10. │ └── lib.rs
  11. └── 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
    }
The article has been posted for too long and comments have been automatically closed.