cuo*_*oka 9 rust rust-crates rust-cargo
我已将库作为子模块包含在我的程序中。结构如下:
\n\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 my_lib/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lib/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mod.rs\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 foo.rs\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src/\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Cargo.toml\nRun Code Online (Sandbox Code Playgroud)\n\n在我的程序Cargo.toml文件中,我添加了以下答案的依赖项:
[dependencies]\nmy_lib = { path = "./my_lib" }\nRun Code Online (Sandbox Code Playgroud)\n\n然而我无法在我的程序中使用这个库,我对 Rust 有点陌生,这个导入系统让我感到非常困惑。我已经尝试过这个main.rs:
[dependencies]\nmy_lib = { path = "./my_lib" }\nRun Code Online (Sandbox Code Playgroud)\n\n但我收到unresolved import \'my_lib\'错误。
包可以是库或可执行文件,但不能同时是两者。您my_lib包含一个main.rs文件,这意味着 Cargo 会将其视为可执行文件。您无法从可执行文件导入。
您将需要重组您的代码。也许您实际上打算my_lib成为一个库,在这种情况下它应该有一个顶级lib.rs。您可能想要:
也可以看看: