【问题标题】:.Rlib and .d file instead of .wasm.Rlib 和 .d 文件而不是 .wasm
【发布时间】:2026-02-17 08:55:01
【问题描述】:

我想将 Rust 库中的 .rs 文件编译为 .wasm

RUSTFLAGS='-C link-arg=-s' cargo build --release --target wasm32-unknown-unknown

我得到的是.Rlib.d 文件,而不是.wasm 文件。我需要更改什么才能获得.wasm

【问题讨论】:

标签: rust webassembly rust-cargo rust-wasm


【解决方案1】:

rustc 认为 .wasm 文件填充 WASM 目标中的“本机动态库”角色。将此添加到您的 Cargo.toml 配置中以请求构建而不是默认的 .rlib

[lib]
crate-type = ["cdylib"]

【讨论】:

  • 如果您只是使用 rustc(无论出于何种原因),可以使用 crate-type=cdylib 标志