Rust中的Cargo工作空间实践

Posted aguncn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust中的Cargo工作空间实践相关的知识,希望对你有一定的参考价值。

这是为了开发大型程序,分治crate用的。

目录结构如下:

 技术图片

一,根cargo.toml内容

[workspace]

members = [
    "adder",
    "add-one",
    
]

二,adder里的cargo.toml内容

[package]
name = "adder"
version = "0.1.0"
authors = ["test <test@qq.com>"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
add-one =  path = "../add-one" 

三,main.rs内容

use add_one;

fn main() 
    let num = 10; 
    println!("Hello, world!  plus one is !", num, add_one::add_one(num));

四,Lib.rs内容

pub fn add_one(x: i32) -> i32 
    x + 1


#[cfg(test)]
mod tests 
    use super::*;

    #[test]
    fn it_works() 
        assert_eq!(3, add_one(2));
    

 

以上是关于Rust中的Cargo工作空间实践的主要内容,如果未能解决你的问题,请参考以下文章

Rust学习笔记 | 01 - Rust快速入门(为什么是Rust开发环境搭建Cargo的使用HelloWorldRust依赖包crates)

rust实践 - 使用tcp链接监听web请求,进行http解析

如何解决 rust cargo build-std 中的这个错误? [关闭]

Rust 和 Flamegraph:使用 cargo 安装时出现一堆错误

Rust 实战 |创建一个完整的项目

Rust之Cargo的使用