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

问题描述 投票:-2回答:1

尽管有一些与此相关的问题,但所有这些似乎让我感到困惑。

我有一个结构如下的项目。

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

  = help: name the file either lib/cli.rs or lib/cli/mod.rs inside the directory "src"

但我想将其保留在cli文件夹中,因为我将不得不在cli文件夹中添加更多代码。为什么货物要求我创建lib文件夹?

下面是我的toml文件。

[package]
name = "feline"
version = "0.0.1"
license = "MIT"
authors = ["Akshay Naik <[email protected]>"]
edition = "2018"

[dependencies]
smol = { version = "0.1", features = ["tokio02"] }
futures = "0.3.4"
clap = "~2.27.0"

更新:Thea的目标是将所有逻辑移至lib.rs并从main.rs调用单个函数

代码:

https://github.com/nakshay/feline/tree/lib-use/src

rust rust-cargo
1个回答
0
投票

删除行mod lib;并调用feline :: start()解决了该问题,

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

“使用mod关键字时,您正在创建一个模块,而不是导入一个模块。”

通过访问下面的链接查看完整的答案。

https://users.rust-lang.org/t/main-rs-and-lib-rs-at-same-level/42499

© www.soinside.com 2019 - 2024. All rights reserved.