Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 在单个项目中使用main.rs和lib.rs,无法导入库中没有lib文件夹的模块_Rust_Rust Cargo - Fatal编程技术网

Rust 在单个项目中使用main.rs和lib.rs,无法导入库中没有lib文件夹的模块

Rust 在单个项目中使用main.rs和lib.rs,无法导入库中没有lib文件夹的模块,rust,rust-cargo,Rust,Rust Cargo,虽然有一些问题与此相关,但对我来说似乎都很困惑 我有一个以下结构的项目 当在main.rs中导入cli模块时,它可以正常工作,但当我尝试在lib.rs中执行相同操作时,会出现以下错误 = help: name the file either lib/cli.rs or lib/cli/mod.rs inside the directory "src" 但我想将其保存在cli文件夹中,因为我必须在cli文件夹中添加更多代码。 为什么cargo要求我创建lib文件夹 下面是我的toml文件

虽然有一些问题与此相关,但对我来说似乎都很困惑

我有一个以下结构的项目

当在main.rs中导入cli模块时,它可以正常工作,但当我尝试在lib.rs中执行相同操作时,会出现以下错误

  = help: name the file either lib/cli.rs or lib/cli/mod.rs inside the directory "src"
但我想将其保存在cli文件夹中,因为我必须在cli文件夹中添加更多代码。 为什么cargo要求我创建lib文件夹

下面是我的toml文件

[package]
name = "feline"
version = "0.0.1"
license = "MIT"
authors = ["Akshay Naik <inbox.akshaynaik@gmail.com>"]
edition = "2018"

[dependencies]
smol = { version = "0.1", features = ["tokio02"] }
futures = "0.3.4"
clap = "~2.27.0"
[软件包]
name=“猫”
version=“0.0.1”
license=“MIT”
作者=[“Akshay Naik”]
edition=“2018”
[依赖关系]
smol={version=“0.1”,features=[“tokioo2”]}
futures=“0.3.4”
clap=“~2.27.0”
更新:目标是将所有逻辑移到lib.rs,并从main.rs调用单个函数

代码:


删除行
mod lib并调用feline::start()解决了这个问题

我在rustlang论坛上得到了答案。排队

“当你使用mod关键字时,你是在创建一个模块,而不是导入一个模块”,这让人大开眼界

请访问下面的链接查看完整答案


lib文件夹是一个模块,lib/cli是lib的子模块。因此,在lib/mod.rs文件中,您应该导出cli模块,或者当您想要访问cli时,您应该使用lib::cli::which.related问题:@MarioSantini它可以从main.rs中工作,我肯定在mod.rs中导出了它,您可以在@MarioSantini上看到完整的源代码,我正在尝试做与rust book cli一章中所示相同的事情,创建minigrep时,第一个链接是不相关的,因为我已经在导出模块,第二个链接具有不同的目录结构。简言之,我的问题是为什么我不能在lib.rs中导入与main.rs类似的模块,任何文档或博客对此进行解释