如何将已建成的防锈库添加到货物构建中?

时间:2014-10-10 16:38:24

标签: rust rust-cargo

我有一个项目,让我们称这个项目为Master。这个Master项目依赖于我已经编写的其他库,并且在不同的项目中分开,让我们称这个项目库。

将git依赖项或未构建的项目依赖项添加到rust中非常简单。但是,如果我想选择已经构建的Library.librs,告诉货物在编译Master(输出Master.exe)时使用它,那么我可以运送整个程序,如下所示:

-Master
--lib
---Library.librs
--Master.exe

这可以用货物完成,还是我必须使用带有-L参数的rustc?如果是这样,怎么样?感谢您提出任何有用的建议。

2 个答案:

答案 0 :(得分:8)

Cargo通常将主 src 文件夹设置为 src ,因此我假设它就在那里。

Master文件夹中的Cargo.toml文件看起来像(它将在/ src上面的根目录中):

[package]
name = "Master"
version = "0.0.1"
authors = ["You"]

[dependencies.Library_lib]
path = "src/lib"

然后在 / src 中,您可以获得项目Master的源代码。在 / src / lib 中为您的库添加另一个Cargo.toml文件:

[package]
name  = "Library_lib"
version = "0.0.1"
authors = ["You"]

[lib]
name = "Library_lib"
path = "lib.rs"

最后在 / src / src / lib 中放入一个lib.rs文件(在每个地方)。

在src / main.rs中,您可以同样引用您的库:

extern crate Library_lib;

use Library_lib::something_to_import_from_lib;

这是您引用crate并使用use语句的地方,因此您可以使用lib中的内容。

在/ src / lib / lib.rs 中,您使用 pub 关键字声明要公开的单位。

答案 1 :(得分:0)

在已经具有cargo.toml文件的货物防锈文件中,您可以在货物toml文件中添加库。

[package]
name  = "Library"
version = "0.1.0"
authors = ["you"]
edition = "2018"

这是打包文件,您可以在[dependencies]中添加库 路径/

[dependencies]
name = "Library"
path = ".rs"