自定义目标

如果您想为 rustc 尚不支持的目标构建,您可以使用“自定义目标规范”来定义目标。这些目标规范文件是 JSON 格式。要查看主机目标的 JSON,您可以运行

rustc +nightly -Z unstable-options --print target-spec-json

要查看不同目标的 JSON,请添加 --target 标志

rustc +nightly -Z unstable-options --target=wasm32-unknown-unknown --print target-spec-json

要使用自定义目标,请参阅 cargo 的(不稳定的)build-std 功能

自定义目标查找路径

rustc 收到 --target=TARGET 选项(其中 TARGET 是任何字符串)时,它使用以下逻辑

  1. 如果 TARGET 是内置目标的名称,则使用该目标
  2. 如果 TARGET 是文件的路径,则将该文件读取为 json 目标
  3. 否则,从左到右搜索 RUST_TARGET_PATH 环境变量中以冒号分隔的目录列表,以查找名为 TARGET.json 的文件。

这些步骤按顺序尝试,因此,如果目标有多个潜在有效的解释,则以首先找到的解释为准。如果这些方法都找不到目标,则会抛出一个错误。