Saya telah membuat perpustakaan:
cargo new my_lib
dan saya ingin menggunakan pustaka itu di program lain:
cargo new my_program --bin
extern crate my_lib;
fn main {
println!("Hello, World!");
}
apa yang harus saya lakukan agar ini berfungsi?
Mereka tidak ada di folder proyek yang sama.
.
├── my_lib
└── my_program
Semoga ini masuk akal.
Saya pikir saya akan bisa mengganti jalur sesuai panduan Kargo , tetapi itu menyatakan
Anda tidak dapat menggunakan fitur ini untuk memberi tahu Cargo bagaimana menemukan peti lokal yang tidak dipublikasikan.
Ini adalah saat menggunakan versi stabil terbaru dari Rust (1.3).
rust
multifile
rust-crates
Andre S.
sumber
sumber
version
danpath
untuk sebuah dependensi dan itu akan menghapuspath
bagian tersebut ketika Anda menerbitkannya :)git
alih - alihversion
? Sesuatu seperti inimy_lib = { path = "...", git = "..." }
sehingga saya dapat menggunakan salinan lokal saya selama pengembangan dan remote git ketika seseorang mengkloning repo dan mencoba mengkompilasi program?Saya sedang mencari yang setara dengan
mvn install
. Meskipun pertanyaan ini bukan duplikat dari pertanyaan asli saya, siapa pun yang menemukan pertanyaan asli saya dan mengikuti tautan di sini akan menemukan jawaban yang lebih lengkap.Jawabannya adalah "tidak ada padanan dengan
mvn install
karena Anda harus melakukan hard-code pada jalur di file Cargo.toml yang mungkin akan salah di komputer orang lain, tetapi Anda bisa mendapatkan cukup dekat."Jawaban yang ada agak singkat dan saya harus bermain-main sedikit lebih lama untuk benar-benar membuat semuanya berfungsi, jadi inilah detail lebih lanjut:
rustc --explain E0432
sertakan paragraf ini yang menggemakan jawaban Shepmaster:Beralih dari
use
untukextern crate
memberi saya ini:Saya harus menampar
pub
di depan fungsi ituSekarang berhasil.
sumber