add cargo target

pull/450/head
sunface 3 years ago
parent 5a73cc1973
commit 5d61a755bd

@ -8,7 +8,7 @@
## 对象介绍
在开始讲解如何配置对象前,我们先来看看这些对象究竟是什么,估计还有些同学对此有些迷糊 :)
#### 库对象( Library )
#### 库对象(Library)
库对象用于定义一个库,该库可以被其它的库或者可执行文件所链接。**该对象包含的默认文件名是 `src/lib.rs`,且默认情况下,库对象的名称[跟项目名是一致的](https://course.rs/basic/crate-module/crate.html#package)**
一个工程只能有一个库对象,因此也只能有一个 `src/lib.rs` 文件,以下是一种自定义配置:
@ -151,3 +151,24 @@ autoexamples = false
autotests = false
autobenches = false
```
只有在特定场景下才应该禁用自动对象发现。例如,你有一个模块想要命名为 `bin`,目录结构如下:
```shell
├── Cargo.toml
└── src
   ├── lib.rs
   └── bin
      └── mod.rs
```
这在默认情况下会导致问题,因为 `Cargo` 会使用 `src/bin` 作为存放二进制对象的地方。
为了阻止这一点,可以设置 `autobins = false` :
```toml
├── Cargo.toml
└── src
   ├── lib.rs
   └── bin
      └── mod.rs
```

@ -31,11 +31,11 @@
* [`autobenches`](cargo-target.md#对象自动发现) — 禁止 bench 文件的自动发现
* [`resolver`](resolver.md#resolver-versions) — 设置依赖解析器( dependency resolver)
* Cargo Target 列表: (查看 [Target 配置](cargo-target.md#Target配置) 获取详细设置)
* [`[lib]`](./cargo-target.md#库对象) — Library target 设置.
* [`[[bin]]`](cargo-target.md#二进制对象) — Binary target 设置.
* [`[[example]]`](cargo-target.md#示例对象) — Example target 设置.
* [`[[test]]`](cargo-target.md#测试对象) — Test target 设置.
* [`[[bench]]`](cargo-target.md#基准性能对象) — Benchmark target 设置.
* [`[lib]`](./cargo-target.md#库对象library) — Library target 设置.
* [`[[bin]]`](cargo-target.md#二进制对象binaries) — Binary target 设置.
* [`[[example]]`](cargo-target.md#示例对象examples) — Example target 设置.
* [`[[test]]`](cargo-target.md#测试对象tests) — Test target 设置.
* [`[[bench]]`](cargo-target.md#基准性能对象benches) — Benchmark target 设置.
* Dependency tables:
* [`[dependencies]`](specify-deps.md) — 项目依赖包
* [`[dev-dependencies]`](specify-deps.md#dev-dependencies) — 用于 examples、tests 和 benchmarks 的依赖包

Loading…
Cancel
Save