相关疑难解决方法(0)

带有库和二进制文件的Rust包?

我想制作一个包含可重用库(实现大部分程序)的Rust包,以及使用它的可执行文件.

假设我没有混淆Rust模块系统中的任何语义,我的Cargo.toml文件应该是什么样的?

rust rust-cargo

132
推荐指数
4
解决办法
4万
查看次数

Rust 中的跨模块函数调用

我正在尝试从另一个模块调用属于某个模块的函数(用于代码分解、组织)。

这是我的箱子结构:

?  mod_test git:(master) ? tree
.
??? Cargo.lock
??? Cargo.toml
??? src
    ??? bin
    ?   ??? one.rs
    ??? lib
    ?   ??? two.rs
    ??? main.rs

3 directories, 5 files
Run Code Online (Sandbox Code Playgroud)

main我声明:

pub mod bin {
    pub mod one;
}
pub mod lib {
    pub mod two;
}
Run Code Online (Sandbox Code Playgroud)

所有这些文件只包含一个微不足道的 pub fn main() {println!("hello");}.

此时,一切正常

现在,是它可以调用lib::two::mainbin/one.rs

use crate::lib::two;, use super::lib::two;, 都没有use self::super::lib::two;添加到bin/one.rs工作中。 …

module code-organization rust rust-crates

6
推荐指数
1
解决办法
941
查看次数

如何构建 Rust 二进制可执行文件

我正在尝试构建一个 Rust 二进制可执行文件。在 src 目录中我有四个文件:

主要.rs:

use fasta_multiple_cmp::get_filenames;

fn main() {
    get_filenames();
}
Run Code Online (Sandbox Code Playgroud)

mod.rs:

pub mod fasta_multiple_cmp;

pub mod build_sequences_matrix;
Run Code Online (Sandbox Code Playgroud)

fasta_multiple_cmp.rs:

pub mod fasta_multiple_cmp {

...

    pub fn get_filenames() {
    let args: Vec<String> = env::args().collect();
    ...
Run Code Online (Sandbox Code Playgroud)

build_sequences_matrix.rs:

pub mod build_sequences_matrix {

    use simple_matrix::Matrix;
    ...
Run Code Online (Sandbox Code Playgroud)

货物告诉我:

src/main.rs:3:5 | src/main.rs:3:5 | 3 | 使用 fasta_multiple_cmp::get_filenames; | ^^^^^^^^^^^^^^^^^^^^ 使用未声明的板条箱或模块 `fasta_multiple_cmp

我相信我理解了一些小事情,但我迷失了。到底是怎么回事?

感谢您的任何提示!

executable module rust

6
推荐指数
1
解决办法
1万
查看次数