Module 我是怎么搞砸这些模块的?

Module 我是怎么搞砸这些模块的?,module,rust,libraries,rust-crates,Module,Rust,Libraries,Rust Crates,我正在尝试创建一个包含库和一个或多个二进制文件的板条箱。我已经看过了,但在尝试编译时仍然会遇到错误 我已经包括了每个文件的相关部分(我想) ../cargo.toml: [package] name = "plotmote" version = "0.1.0" authors = ["Camden Narzt <my@nice.email>"] [lib] name = "lib_plotMote" path = "src/lib.rs" [[bin]] name = "plot

我正在尝试创建一个包含库和一个或多个二进制文件的板条箱。我已经看过了,但在尝试编译时仍然会遇到错误

我已经包括了每个文件的相关部分(我想)

../cargo.toml:

[package]
name = "plotmote"
version = "0.1.0"
authors = ["Camden Narzt <my@nice.email>"]

[lib]
name = "lib_plotMote"
path = "src/lib.rs"

[[bin]]
name = "plotMote"
path = "src/main.rs"
lib_plotMote/mod.rs:

pub mod LogstreamProcessor;
lib_plotMote/LogstreamProcessor.rs:

pub struct LogstreamProcessor {
main.rs:

extern crate lib_plotMote;
use lib_plotMote::LogStreamProcessor;
错误:

cargo build
   Compiling plotmote v0.1.0 (file:///Users/camdennarzt/Developer/Rust/plotmote)
main.rs:6:5: 6:37 error: unresolved import `lib_plotMote::LogStreamProcessor`. There is no `LogStreamProcessor` in `lib_plotMote` [E0432]
这应该起作用:

use lib_plotMote::lib_plotMote::LogStreamProcessor;
第一个
lib_plotMote
来自
extern-crater
,第二个来自您在库板条箱中定义的模块:

pub mod lib_plotMote;
因此,库板条箱包含一个模块,巧合的是,该模块与板条箱本身具有相同的名称


此外,正如@starblue所注意到的,在结构的声明站点(
LogstreamProcessor
)及其使用站点(
LogstreamProcessor
)中存在大小写不匹配。这也应该得到解决

作为旁注,我建议您遵循惯用命名约定,避免在模块/板条箱名称中使用camelCase。

这应该可以:

use lib_plotMote::lib_plotMote::LogStreamProcessor;
第一个
lib_plotMote
来自
extern-crater
,第二个来自您在库板条箱中定义的模块:

pub mod lib_plotMote;
因此,库板条箱包含一个模块,巧合的是,该模块与板条箱本身具有相同的名称


此外,正如@starblue所注意到的,在结构的声明站点(
LogstreamProcessor
)及其使用站点(
LogstreamProcessor
)中存在大小写不匹配。这也应该得到解决


作为旁注,我建议您遵循惯用的命名约定,避免在模块/板条箱名称中使用camelCase。

LogStreamProcessor
LogStreamProcessor
不同(
s
有不同的大小写)。对于模块,最好采用带小写名称的Rust代码样式
LogStreamProcessor
LogStreamProcessor
不同(
s
大小写不同)。对于模块,最好采用带小写名称的Rust代码样式。