2014-10-10 7 views
9

मेरे पास एक प्रोजेक्ट है, चलिए इस प्रोजेक्ट मास्टर को कॉल करें। यह मास्टर प्रोजेक्ट उन अन्य लाइब्रेरी पर निर्भर करता है जिन्हें मैंने पहले ही लिखा है और यह अलग-अलग प्रोजेक्ट में अलग है, चलिए इस प्रोजेक्ट लाइब्रेरी को कॉल करते हैं।कार्गो निर्माण में पहले से निर्मित जंग की लाइब्रेरी को कैसे जोड़ा जाए?

जंग पर निर्भरता या अनबिल्ट परियोजना निर्भरताओं को जोड़ना बहुत सरल है। लेकिन क्या होगा अगर मैं पहले से ही बनाया Library.librs लेने के लिए चाहते हैं, कार्गो बता इसका इस्तेमाल करने के मास्टर (उत्पादन Master.exe) संयोजित करते समय तो मैं इस तरह पदानुक्रम के साथ पूरे कार्यक्रम जहाज कर सकते हैं:

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

इस किया जा सकता है कार्गो के साथ, या मुझे -एल पैरामीटर के साथ rustc का उपयोग करना है? यदि हां, तो वास्तव में कैसे? किसी भी उपयोगी विचार के लिए धन्यवाद।

+1

मैंने इस लिंक को जोड़ने के लिए संपादित किया है: https://github.com/gilles-leblanc/reddish जो मूल रूप से खाली खाली lib के साथ एक खाली जंग कार्यक्रम है। – Gilles

+0

धन्यवाद। यह बहुत उपयोगी था और अब मेरा पूरा कोड चल रहा है। –

उत्तर

8

कार्गो आमतौर पर src के रूप में मुख्य src फ़ोल्डर डालता है, तो मैं मान लेंगे कि है कि वह कहाँ है।

मास्टर फ़ोल्डर में आपका Cargo.toml फ़ाइल की तरह (यह/src ऊपर जड़ में हो जाएगा) दिखेगा: में

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

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

फिर/src आप अपने प्रोजेक्ट मास्टर के लिए स्रोत कोड हो सकता है । /src में/lib अपने पुस्तकालय के लिए एक और Cargo.toml फ़ाइल डाल:

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

[lib] 
name = "Library_lib" 
path = "lib.rs" 
अंत में अपने /src में

और में /src/lib एक lib.rs फ़ाइल डाल (प्रत्येक स्थान पर) ।

src/main.rs में आप इसी तरह अपने पुस्तकालय देख सकते हैं:

extern crate Library_lib; 

use Library_lib::something_to_import_from_lib; 

यह वह जगह है जहाँ आप टोकरा संदर्भ और आप lib से सामान का उपयोग कर सकते हैं ताकि आपके उपयोग बयान की है।

/ src/lib/lib.rs आप पब कीवर्ड के साथ इकाइयों आप सामने प्रकट करना चाहते घोषित में

संबंधित मुद्दे