2012-11-06 22 views
7

मैं समझने की कोशिश कर रहा हूं कि एक स्टैंडअलोन टूलचेन का क्या अर्थ है। मेरे निष्कर्ष निम्नलिखित हैं। एक टूलचेन जो सभी विन्यासों के साथ उपयोग करने के लिए तैयार है जो सही पथ में सिस्टम शीर्षलेख और पुस्तकालय हैं। एंड्रॉइड के लिए इसमें पथ में एपीआई हेडर भी होंगे जहां टूलचेन इसे देख सकता है। शब्द "स्टैंडअलोन" क्यों? यह शायद अलग होगा कि नियमित टूलचैन इस अर्थ में है कि आर टी को कॉन्फ़िगर करने की आवश्यकता होगी और एंड्रॉइड उपयोग के लिए तैयार किया जाएगा सूखे सिसरूट और libc हेडर पथ दिए गए आदि कृपया टिप्पणी करें।स्टैंडअलोन टूलचेन क्या है?

हम्म, मैं एंड्रॉइड के लिए संकलन कर रहा था और एक प्रक्रिया मेक-स्टैंडअलोन-toolchain.sh नामक एक स्क्रिप्ट चला रही थी जिसे एक स्टैंडअलोन टूलचैन बनाया गया है। मैं यह समझने के लिए इस स्क्रिप्ट के माध्यम से जा रहा था कि यह क्या कर रहा है। खोल स्क्रिप्टिंग में वास्तव में अच्छा नहीं है। लेकिन कुछ चीजें बनाई। "" एक अनुकूलित एंड्रॉइड टूलचैन इंस्टॉलेशन जेनरेट करें जिसमें एक वर्किंग सिसरूट शामिल है। नतीजा ऐसा कुछ है जो स्टैंडअलोन क्रॉस-कंपाइलर के रूप में अधिक आसानी से उपयोग किया जा सकता है, उदा। कॉन्फ़िगर करने और स्क्रिप्ट बनाने के लिए। "--toolchain arch ndk-dir पैकेज-डीआईआर सिस्टम प्लेटफ़ॉर्म वेरिएबल्स सेट हैं Compute Source sysroot SRC_SYSROOT =" $ NDK_DIR/प्लेटफ़ॉर्म/$ PLATFORM arch- $ ARCH "सिसरूट हेडर और लाइब्रेरी कॉपी करना ... libstdC++ शीर्षलेख और पुस्तकालय ... पूर्वनिर्धारित binaries.all एक अस्थायी फ़ोल्डर में तो स्थापित करने के लिए Tmp dir से प्रतिलिपि बनाने के लिए एक टैर यानी एक पैकेज फ़ाइल बनाने के लिए tmpdir जोड़ने के लिए यह जानना चाहता था कि वास्तव में क्या हो रहा है या एक लिंक या सुझाव कहां है look.but को बिल्कुल बहुत ही व्यापक मैनुअल को पढ़ने के लिए चाहते हैं ~

+0

कृपया कुछ जानकारी प्रदान करें जो आपने कोशिश की है, आप जो लक्ष्य कर रहे हैं, इस समय सवाल व्यापक रूप से प्रतीत होता है। –

+0

इस उत्तर का इसका उपयोग करने का एक बड़ा उदाहरण है: http://stackoverflow.com/a/16784582/895245 –

उत्तर

5

इस ब्लॉग पोस्टिंग आपके प्रश्न का उत्तर हो सकता है:।

http://clseto.mysinablog.com/index.php?op=ViewArticle&articleId=3480794

Android पर देशी सी/सी ++ प्रोग्राम बनाने का एक अनुशंसित तरीका है: अपनी स्रोत फ़ाइलों को एक स्क्रिप्ट (Android.mk) में सूचीबद्ध करें और 'ndk-build' चलाएं। यदि आप नए प्रोग्राम लिख रहे हैं तो यह कोई समस्या नहीं हो सकती है, लेकिन यदि आपके पास पहले से ही एक वर्किंग बिल्ड स्क्रिप्ट है (जैसे ओपन सोर्स सॉफ़्टवेयर) जो आपको लिनक्स पर अच्छी तरह से प्रोग्राम बना सकती हैं, तो यह आपकी स्क्रिप्ट को Android.mk पर माइग्रेट करने का सिरदर्द होगा। । आपको इस स्थिति में केवल एक सी/सी ++ क्रॉस कंपाइलर चाहिए और फिर अपनी स्क्रिप्ट (जैसे सीसी, सीआईओक्स, एआर, एएस, रैनिलबी, ...) में चर को प्रतिस्थापित करें जैसे 'arm-linux-androideabi-gcc' 'हाथ-linux-androideabi-जी ++', ...

Fortunatley, 'एंड्रॉयड NDK डेव मार्गदर्शिका' के अंदर, वहाँ एक खंड 'स्टैंडअलोन Toolchain' है जो सिर्फ का वर्णन करता है कि हम क्या जरूरत है ....