我想构建一个动态链接库(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.exe
和main.dll
我知道我可以运行cargo build --lib
来仅构建我的lib
目标,但我无法在VS Code(afaik)中访问此命令。
无论如何指定我只想在lib
文件中构建Cargo.toml
目标,这样我就可以使用运行cargo build
/ cargo run
的VS Code构建命令吗? / p>
答案 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
目标!