导入Rust pqcrypto_dilithium模块触发E0432报错如何解决?
报错原因
- 路径引用逻辑错误:
crate::前缀代表引用当前项目自身crate下的内部模块,而pqcrypto-dilithium是通过Cargo引入的外部依赖crate,不属于当前项目的内部路径,用crate::前缀自然找不到对应模块。 - 名称转换规则说明:Cargo引入依赖时,会自动将依赖名中的连字符
-转换为下划线_作为crate的合法引用名,你代码里写的pqcrypto_dilithium名称本身是正确的,问题核心是路径前缀使用错误。
修复方案
你使用的是2021 edition Rust,不需要额外写extern crate声明外部依赖,直接去掉导入语句里的crate::前缀即可,修改后的main.rs代码如下:
pub use pqcrypto_dilithium::*; fn main() { println!("Hello, world!"); }
修改后重新执行编译即可正常导入依赖,后续可直接调用该crate导出的所有公开函数、类型。
内容的提问来源于stack exchange,提问作者user19316228
相关产品推荐
相关产品推荐

