我做了一个图书馆:
cargo new my_lib
Run Code Online (Sandbox Code Playgroud)
我想在另一个程序中使用该库:
cargo new my_program --bin
Run Code Online (Sandbox Code Playgroud)
extern crate my_lib;
fn main {
println!("Hello, World!");
}
Run Code Online (Sandbox Code Playgroud)
我需要做些什么才能让它发挥作用?
它们不在同一个项目文件夹中.
.
??? my_lib
??? my_program
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的.
我认为我可以按照货物指南覆盖路径,但它说明了
您无法使用此功能告诉Cargo如何查找本地未发布的板条箱.
这是使用最新稳定版本的Rust(1.3).
我正在运行这个:
use std::error::Error;
use std::fs::File;
fn main() {
try_main().unwrap();
}
fn try_main() -> Result<(), Box<Error>> {
try!(check_file("andre"));
Ok(())
}
fn check_file(user: &str) -> Result<(), Box<Error>> {
let suspend_file_name = format!("{}{}", "/var/cpanel/suspended/", user);
let suspend_file = try!(File::open(suspend_file_name));
Ok(())
}
Run Code Online (Sandbox Code Playgroud)
并收到此错误:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', libcore/result.rs:945:5
Run Code Online (Sandbox Code Playgroud)
我以为这应该会返回一个错误?我正在使用Rust 1.3并且不知道我做错了什么.