首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rust参考模型

Rust参考模型
EN

Stack Overflow用户
提问于 2020-02-19 20:03:25
回答 1查看 135关注 0票数 2

我在一个工作区中有一组文件,我想从另一个目录引用这些文件,但我找不到需要使用的语法。

示例如下:

代码语言:javascript
复制
Primary
|_______ First
|            |_____ src
|                    |______ Cool_thing.rs
|_______ Second
            |_____ src
                    |______ main.rs

我想从main.rs引用Cool_things中的结构

在主要的Cargo.toml中,我放了:

代码语言:javascript
复制
[workspace]
members= ["First","Second", "Third"]

[dependencies.Second]
First= { path = "First" }

Second目录的Cargo.toml中,我有

代码语言:javascript
复制
[dependencies]
First = { path = "../First" }

我已经在我的main.rs中尝试了一些东西,比如:

代码语言:javascript
复制
extern crate First;
use First::Cool_things::Cool_things;

usemod的任何变体似乎都不允许我引用mod Cool_things中的结构或impl或函数。

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 23:37:32

问题是它需要在第一个src目录中有一个"lib.rs“。基本上,rust的文档似乎有点疏忽,它告诉人们,如果你想使用本地依赖,那么你必须有一个lib.rs文件,列出你计划访问的所有mods。因此,在第一个src目录中创建lib.rs并列出"Mod Cool_things“将允许其他包引用该目录中的mod文件。

上面问题中插入的cargo.toml文件具有正确的路径和依赖项,问题都是由于缺少lib.rs文件造成的。

因此,如果您正在计划一个多二进制程序,那么当您分解代码,然后从工作区的其他部分访问模块时,就需要记住要有一个lib.rs文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60299960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档