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

Rust跨库导入报错E0432:未声明crate/模块解决方案咨询

解决Rust本地UI库导入Wasm游戏库的依赖问题

1. 先确认UI库的Crate名称

打开make/ui/Cargo.toml,找到[package]下的name字段——这才是你在Game库中要引用的crate正式名称,比如:

[package]
name = "my-ui-lib"
version = "0.1.0"
edition = "2021"

你之前用use ui::*报错,核心原因是:UI库lib.rs里的pub mod ui是crate内部的子模块,不是crate本身的名字,不能直接当成crate来引用。

2. 正确配置Game库的本地依赖

在make/game/Cargo.toml的[dependencies]区块里,按如下格式添加依赖,注意键名要和UI库的name字段完全一致:

[dependencies]
my-ui-lib = { path = "../ui" }

3. 正确引用UI库的模块

因为UI库的lib.rs里是pub mod ui结构,所以在Game库的src/lib.rs中,要先引用crate名,再指向内部的ui模块:

use my_ui_lib::ui::*;

可选:简化引用的调整方案

如果想直接用use ui::*,可以做两个调整:

  • 把UI库make/ui/Cargo.toml里的name改成ui
  • 修改UI库的src/lib.rs,把内部ui模块的内容导出到crate根:
pub use ui::*;
pub mod ui;

这样配置后,在Game库中就能直接写use ui::*了。

最后验证

回到make/game目录,重新执行构建命令:

wasm-pack build --release --target web

内容的提问来源于stack exchange,提问作者user1709076

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 21:45:06