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

ant*_*ono 8 rust rust-cargo

我尝试使用本教程在Rust中创建"Hello World" ,但build命令有点冗长:

cargo +nightly build --target wasm32-unknown-unknown --release
Run Code Online (Sandbox Code Playgroud)

是否可以设置默认目标cargo build

mex*_*xus 15

我猜您可以使用货物配置文件为您的项目指定默认目标 - 三元组:https://doc.rust-lang.org/cargo/reference/config.html

在项目的根.cargo目录config中,使用以下内容创建目录和文件:

[build]
target = "wasm32-unknown-unknown"
Run Code Online (Sandbox Code Playgroud)

  • 您是否将其放入“Cargo.toml”中?您需要使用`.cargo/config` (9认同)
  • 附加说明:虽然您绝对可以调用文件“config”,但您也可以将其称为“config.toml”。它的行为完全相同,但您的编辑器现在可能会改进语法突出显示等。 (5认同)
  • 现在也能按预期工作吗?我收到警告:“警告:未使用清单密钥:构建”使用 1.47.0-nightly。 (3认同)
  • @ZacharyPerkins:据我所知,旧版本的 Cargo(在 2020 年之前发布)不支持包含扩展名的“config.toml”文件名。不过,对于当前版本来说,它是首选名称。 (2认同)

She*_*ter 11

Cargo 文档中所列,您可以创建一个.cargo/config并指定目标:

[build]
target = "my-custom-target"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你!对于将来阅读本文的其他人,您可以使用“rustc --print target-list”查看 Rust 支持哪些目标。 (2认同)

Ale*_*oz. 5

如果您能够使用不稳定的功能,请按照以下文档,特别是per-package-target功能,将其添加到您的板条箱清单中,通常名为 Cargo.toml

cargo-features = ["per-package-target"]

[package]
forced-target = "wasm32-unknown-unknown"
# and/or:
default-target = "wasm32-unknown-unknown"
Run Code Online (Sandbox Code Playgroud)

这需要夜间工具链。