仅构建`lib`目标

时间:2016-06-23 07:29:18

标签: rust rust-cargo

我想构建一个动态链接库(dll) 我的Cargo.toml目前看起来像这样:

[package]
name = "sample"
version = "0.1.0"
authors = ["author"]

[lib]
name = "main"
crate-type = ["dylib"]

[dependencies]

我在Windows上使用带有RustyCode插件的VS Code作为我的IDE。 当我运行构建命令时,这将构建为sample.exemain.dll 我知道我可以运行cargo build --lib来仅构建我的lib目标,但我无法在VS Code(afaik)中访问此命令。 无论如何指定我只想在lib文件中构建Cargo.toml目标,这样我就可以使用运行cargo build / cargo run的VS Code构建命令吗? / p>

2 个答案:

答案 0 :(得分:1)

Cargo使用约定优于配置方法构建文件。当它找到main.rs时,它会构建一个可执行文件,当遇到lib.rs时,它会构建一个库。

调用您的lib main设法混淆了Cargo。我设法找到的唯一解决方案是将您的包的名称从name = "main"更改为name = "foo"(然后将您的main.rs重命名为foo.rs)或将其名称更改为lib.rs,就像你一样。

答案 1 :(得分:0)

想象一下:将src/main.rs重命名为src/lib.rs,它只会构建lib目标!