目标:成功导入这个,这样我就可以开始使用函数了。
锈代码:
pub use crate::pqcrypto_dilithium::*;
fn main() {
println!("Hello, world!");
}
Cargo.toml:
[package]
name = "project"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
pqcrypto-dilithium = "0.4.5"
错误:
error[E0432]: unresolved import `crate::pqcrypto_dilithium`
--> main.rs:1:16
|
1 | pub use crate::pqcrypto_dilithium::*;
| ^^^^^^^^^^^^^^^^^^ maybe a missing crate `pqcrypto_dilithium`?
error: aborting due to previous error
For more information about this error, try `rustc --explain E0432`.
正确使用的代码如下:
pub use pqcrypto_dilithium::*;
fn main() {
println!("Hello, world!");
}
我认为你不应该从crate::
开始。
crate::
表示从这个工作箱的根目录开始查找。
如果你在项目根目录下有一个名为pqcrypto_dilithium
的模块,那么它将工作。就像:
// main.rs/lib.rs
mod pqcrypto_dilithium { ... }
pub use crate::pqcrypto_dilithium::*;
---
// main.rs/lib.rs
mod wrap {
mod pqcrypto_dilithium { ... }
}
// This is not going to work
pub use crate::pqcrypto_dilithium::*;
// Works
pub use crate::wrap::pqcrypto_dilithium::*;
最后,在您的例子中:pqcrypto_dilithium
是一个深度,一个外部板条箱。所以你不能那样做。
但是你可以简单地这样做:
pub use pqcrypto_dilithium::*;