如何为Cargo设置默认构建目标?

42

我尝试使用这个教程在Rust中制作“Hello World”,但是构建命令有点冗长:

cargo +nightly build --target wasm32-unknown-unknown --release

是否可以为设置默认目标?

3个回答

80
您可以使用Cargo配置文件为项目指定默认的目标三元组。在项目根目录下创建一个.cargo目录,并在其中创建一个名为config.toml的文件,其内容如下:
[build]
target = "wasm32-unknown-unknown"

3
现在工作正常吗?我收到了警告消息: warning: unused manifest key: build 使用的是1.47.0-nightly版本。 - Usagi Ito
8
你是否将它放在了 Cargo.toml 文件中?你需要使用 .cargo/config - Jeff Muizelaar
5
附注:虽然您可以将文件命名为“config”,但您也可以将其命名为“config.toml”。它的行为完全相同,但您的编辑器可能会提高语法突出显示等功能。 - Zachary Perkins
2
据我所知,在早于 ~2020 年发布的 Cargo 旧版本中,不支持包括扩展名在内的 config.toml 文件名。但对于当前版本而言,这是首选名称。 - blerontin

21
根据Cargo文档中所列,您可以创建一个.cargo/config文件并指定目标。
[build]
target = "my-custom-target"

6
谢谢!对于将来阅读此内容的其他人,您可以使用“rustc --print target-list”命令查看Rust支持的目标平台列表。 - C. Dunn
1
如果使用rustup,您也可以执行rustup target list - Peter Hansen

5
如果您能够使用不稳定的功能,请按照 文档,特别是 per-package-target 功能,将其添加到通常命名为 Cargo.toml 的包清单中。
cargo-features = ["per-package-target"]

[package]
forced-target = "wasm32-unknown-unknown"
# and/or:
default-target = "wasm32-unknown-unknown"

这需要每晚的工具链。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接