You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何使用cargo build编译Rust库无法生成.wasm文件?

解决Rust编译WASM无.wasm文件生成的问题

问题原因

默认情况下,Rust库(lib crate)的编译目标是Rust专用的静态库(.rlib),所以执行cargo build --target wasm32-unknown-unknown --release只会生成libhello_wasm.rlib,不会产出WASM模块。

解决步骤

修改Cargo.toml,添加crate-type配置,指定编译为C兼容的动态库(WASM模块属于这类):

[package]
name = "hello-wasm"
version = "0.1.0"
edition = "2021"

[lib]
crate-type = ["cdylib", "rlib"]  # 同时保留rlib供Rust项目引用,cdylib用于生成WASM

[dependencies]

重新编译

执行原编译命令:

cargo build --target wasm32-unknown-unknown --release

此时查看target/wasm32-unknown-unknown/release/目录,会生成libhello_wasm.wasm文件,可手动重命名为hello-wasm.wasm。

额外说明

如果使用wasm-pack,它会自动处理crate类型配置,还能生成JS绑定、优化WASM体积,更适合Web环境使用。但如果仅需纯WASM文件,修改crate-type后用cargo编译即可满足需求。

内容的提问来源于stack exchange,提问作者boundless-forest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 02:25:28