Rust 项目可以共享构建工件吗?

Can rust projects share build artifacts?

我有一个生成静态库的 Rust 项目,还有几个其他项目通过 Cargo.toml 条目制作依赖于该库的应用程序:

[dependencies]
lib_project = { path = "/path/to/lib_project" }

目前每个应用程序都会在其构建过程中构建一个单独的 lib_project 副本。有没有办法让他们改用 /path/to/lib_project/target 中现有的内置库?或者更一般地说,有没有办法让多个 Rust 项目共享共同依赖项的构建工件?

这是 cargo workspace 的确切用例。

cargo 工作区允许您有多个库 and/or 二进制包共享一个目标目录。

cargo 工作区在顶层有一个 cargo.toml 文件,它标识了作为工作区一部分的库 and/or 二进制文件,然后是包含 cargo.toml 和其他文件的子目录files/dirs 对于构成工作区的每个板条箱。

Cargo 在顶层创建一个目标目录,其中包含所有包含的板条箱的构建工件。这避免了在多次使用库时重建库的需要。