2014-10-10 7 views
9

Ho un progetto, chiamiamo questo progetto Master. Questo progetto Master dipende da altre librerie che ho già scritto e che sono separate in progetti diversi, chiamiamo questo progetto Library.Come aggiungere la libreria di ruggine già costruita nella struttura di carico?

L'aggiunta di dipendenze git o dipendenze di progetti non incorporate in ruggine è piuttosto semplice. Ma cosa succede se voglio prendere già costruito Library.librs, dica carico di utilizzarlo durante la compilazione Master (uscita Master.exe) in modo da poter spedire l'intero programma con la gerarchia in questo modo:

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

si può fare con carico, o devo usare ruggine con parametro -L? Se sì, come esattamente? Grazie per le idee utili.

+1

Ho modificato per aggiungere questo collegamento: https://github.com/gilles-leblanc/reddish che è fondamentalmente un programma Rust vuoto con una lib quasi vuota. – Gilles

+0

Grazie. Questo è stato molto utile e ora tutto il mio codice è in esecuzione. –

risposta

8

merci di solito mette il principale cartella src come src, quindi mi supporre che è dove si trova.

Il file Cargo.toml nella cartella principale sarà simile (che sarà nella root sopra/src):

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

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

Poi nel /src è possibile avere il codice sorgente per il progetto Maestro . In /src/lib mettere un altro file Cargo.toml per la vostra libreria:

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

[lib] 
name = "Library_lib" 
path = "lib.rs" 

Infine nel vostro /src e in /src/lib messo un file lib.rs (in ogni luogo) .

In main.rs src/è possibile fare riferimento la libreria allo stesso modo:

extern crate Library_lib; 

use Library_lib::something_to_import_from_lib; 

Questo è dove si fa riferimento la cassa ed avere la vostra dichiarazione di utilizzo in modo da poter utilizzare il materiale da lib.

A/src/lib/lib.rs si dichiara con la parola chiave pub le unità che si desidera esposti.

Problemi correlati