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

Rust库无法识别目录模块问题求助

解决Rust库模块未被识别的问题

核心问题

编译器找不到声明的模块,本质是模块声明路径和实际文件路径不匹配,Rust严格遵循文件系统路径与模块树的对应规则。

具体解决方案

情况1:模块文件在mod_dirs/src/目录下

如果你的output_0.rs直接放在mod_dirs/src/下,且lib.rs中写了pub mod output_0;,检查以下几点:

  • 文件名完全匹配:Rust区分大小写,确保文件名是output_0.rs(避免Output_0.rs这类拼写差异)
  • 检查Cargo.toml配置:确认[package]部分没有自定义src路径(比如src = "src/mods_dir"),如果有,调整文件路径匹配该配置
  • 清理缓存重新编译:执行cargo clean清除编译缓存,再运行cargo build

情况2:模块文件在mod_dirs/src/mods_dir/目录下

如果你的output_0.rs实际在mod_dirs/src/mods_dir/下,需要调整模块声明层级:

  1. 在mod_dirs/src/lib.rs中先声明父模块:
pub mod mods_dir;
  1. 在mod_dirs/src/mods_dir/下创建mod.rs文件,里面声明子模块:
pub mod output_0;
  1. 确保output_0.rs确实在mod_dirs/src/mods_dir/目录下

子模块mod_1/output_1.rs的处理

如果要在库中引用这个子模块,同样遵循层级规则:

  • 若文件路径是mod_dirs/src/mod_1/output_1.rs:
    1. 在mod_dirs/src/lib.rs中添加pub mod mod_1;
    2. 在mod_dirs/src/mod_1/mod.rs中添加pub mod output_1;
  • 若mod_1仅包含output_1的逻辑,也可以直接将内容写入mod_dirs/src/mod_1.rs,然后在lib.rs中声明pub mod mod_1;即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:54:53