2014-10-10 17 views
9

Bir projem var, bu projeyi Master olarak adlandıralım. Bu Master projeleri zaten yazdığım ve farklı projelerde ayrılan diğer kütüphaneye bağlıdır, bu projeyi Kütüphane olarak adlandıralım. Git bağımlılıkları veya oluşturulmamış proje bağımlılıkları pas eklemek, oldukça basittir. Ama zaten inşa Library.librs almak istiyorsanız, kargo ne diyeceğim Usta (çıkış Master.exe) derleme yaparken kullanmak yüzden böyle hiyerarşi ile tüm programı yollayabilirsiniz: Zaten inşa edilmiş pas kütüphanesi kargo yapımına nasıl eklenir?

-Master 
--lib 
---Library.librs 
--Master.exe 

Bu yapılabilir Kargo ile veya -L parametresi ile rustc kullanmak zorunda mıyım? Eğer öyleyse, tam olarak nasıl? Herhangi bir yardımcı fikir için teşekkür ederim.

+1

Bu bağlantıyı eklemek için düzenledim: https://github.com/gilles-leblanc/reddish temelde boş bir boş lib ile boş bir Pas programıdır. – Gilles

+0

Teşekkürler. Bu çok yardımcı oldu ve şimdi tüm kodum çalışıyor. –

cevap

8

Kargo genellikle src olarak ana src klasörü koyar, bu yüzden nerede olduğunu olmasıdır üstlenecek.

Usta klasöründe Kişisel Cargo.toml dosyası (o/src yukarıdaki kök olacaktır) gibi görünecektir:

[package] 
name = "Master" 
version = "0.0.1" 
authors = ["You"] 

[dependencies.Library_lib] 
path = "src/lib" 

Sonra in/src Eğer proje Master kaynak koduna sahip olabilir . /src/lib Kütüphanenizin için başka Cargo.toml dosyasını koyun: (Her yerde)

[package] 
name = "Library_lib" 
version = "0.0.1" 
authors = ["You"] 

[lib] 
name = "Library_lib" 
path = "lib.rs" 
sizin /src yılında Nihayet

ve lib bir lib.rs dosyasını koymak//src .

src/main.rs size aynı şekilde kütüphanenizi başvurabilirsiniz: Eğer sandık başvuru ve lib bir şeyler kullanabilirsiniz böylece kullanım deyimi sahip olduğu

extern crate Library_lib; 

use Library_lib::something_to_import_from_lib; 

budur. Eğer pub anahtar kelime ile size maruz istediğiniz birimleri ilan/src/lib/lib.rs ise

.