rust - 在单个项目中使用 main.rs 和 lib.rs,不能在没有 lib 文件夹的库中导入模块
问题描述
尽管有一些与此相关的问题,但对我来说似乎都令人困惑。
我有一个具有以下结构的项目。
在 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"
更新:Thea 目标是将所有逻辑移至 lib.rs 并从 main.rs 调用单个函数
代码:
解决方案
删除线mod lib;
并调用 feline::start() 解决了这个问题,
我在 rustlang 论坛上得到了答案。线。
“当您使用 mod 关键字时,您是在创建一个模块,而不是导入一个模块”,这让您大开眼界。
通过访问以下链接查看完整答案。
https://users.rust-lang.org/t/main-rs-and-lib-rs-at-same-level/42499
推荐阅读
- android - Android Studio 3.2.1 出现问题,代码损坏
- java - oracle db 使用 GWT 在数据库中存储图像 blob
- r - rowsum 基于 r 中的分组或条件
- python - pyomo 等式表达式是可交换的吗?
- python - 如何检查列表中的整数和字符串
- webpack - Webpack 4、vuejs、mini-css-extract-plugin、sass-loader、source-map 问题
- node.js - 使用 discoverSchemas 从数据源环回获取模型
- php - 登录表单未提交甚至未检查,但注册正在运行
- libgit2sharp - 有没有办法查看 LibGit2Sharp 发出的底层 Git 提交?
- python - 通过时间戳在opencv中同步视频的帧播放